由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - DP算法占用的空间
相关主题
leetcode container with most watergoogle 面试题
leetcode: largest rectangle in histogram求帮助总结一道题
Is leetcode OJ down?请问一道题--给一个正方形矩阵,每个元素要么黑色要么白色,请找出最大的纯色子矩阵
又要做题了,郁闷O(NlogN) largest rectangle in histogram
问leetcode上surrounded regions,新的test case出runtime error那个常见的histogram max rectangle 问题
问道G题(2)又想起一道google题目
微软 Bing Ads team 面经maximum rectangle in histogram 到底是个什么问题?
Google interview questionchallenge: 找bug
相关话题的讨论汇总
话题: 数组话题: dp话题: 空间话题: size话题: large
进入JobHunting版参与讨论
1 (共1页)
g***m
发帖数: 85
1
在leetcode上做了几道DP的题目,用的是很标准的二维数组。judge small都过了,
judge large的时候说memory limit exceed。(用动态数组,如果用静态,显示
runtime error)。试着把数组砍掉一半变成三角形,还是超。
有什么好办法么?可以想到的是,动态数组一边算一边删不用的空间,但code很难写啊
,几乎肯定得出错...
i**********e
发帖数: 1145
2
是哪一道题呢?
我帮你看看吧。
你可以 return 空答案,然后看 large input 的testcase最大size,然后 allocate
那个size应该就好了。
面试时不用 dynamic alloc,assume input 不会超过这个size就好了。
g***m
发帖数: 85
3
Jump game II 和 Largest Rectangle in Histogram。
我可以看到fail的test case,就是一个size特别大的数组(里面的元素并不大)。我
就是根据input数组长度定义二维数组的,(三角形,砍了一半已经)
int **res;
res = new int *[n+1];
for (int i = 0; i < n; i++)
res[i] = new int[n+1-i];
剩下的为空,都是memory limit exceed。
这个input size感觉是分配n的空间不会超过,n^2就不行了。

【在 i**********e 的大作中提到】
: 是哪一道题呢?
: 我帮你看看吧。
: 你可以 return 空答案,然后看 large input 的testcase最大size,然后 allocate
: 那个size应该就好了。
: 面试时不用 dynamic alloc,assume input 不会超过这个size就好了。

l*********8
发帖数: 4642
4
Jump game II 不需要二维数组吧。

【在 g***m 的大作中提到】
: Jump game II 和 Largest Rectangle in Histogram。
: 我可以看到fail的test case,就是一个size特别大的数组(里面的元素并不大)。我
: 就是根据input数组长度定义二维数组的,(三角形,砍了一半已经)
: int **res;
: res = new int *[n+1];
: for (int i = 0; i < n; i++)
: res[i] = new int[n+1-i];
: 剩下的为空,都是memory limit exceed。
: 这个input size感觉是分配n的空间不会超过,n^2就不行了。

i**********e
发帖数: 1145
5
对,因为 n 最大可以大到 25000.n^2 空间肯定不行。

【在 g***m 的大作中提到】
: Jump game II 和 Largest Rectangle in Histogram。
: 我可以看到fail的test case,就是一个size特别大的数组(里面的元素并不大)。我
: 就是根据input数组长度定义二维数组的,(三角形,砍了一半已经)
: int **res;
: res = new int *[n+1];
: for (int i = 0; i < n; i++)
: res[i] = new int[n+1-i];
: 剩下的为空,都是memory limit exceed。
: 这个input size感觉是分配n的空间不会超过,n^2就不行了。

g***m
发帖数: 85
6
hmm...
所以有什么办法能把DP的空间降到n^2以下呢?除了一边算一边动态释放空间。

【在 i**********e 的大作中提到】
: 对,因为 n 最大可以大到 25000.n^2 空间肯定不行。
l*********8
发帖数: 4642
7
这道题目是求图上两点间最近距离的特例,可以用Dijkstra算法的简化版.

【在 g***m 的大作中提到】
: hmm...
: 所以有什么办法能把DP的空间降到n^2以下呢?除了一边算一边动态释放空间。

i**********e
发帖数: 1145
8
jump game 可以用 greedy,可以考古本版,火鸡给过很好的解法。
histogram 那题用 cache 来做的方法需要 O(n^2) 空间,过不了large testcase。
large testcase需要最优解法,可以参考网上给的 stack 解答。
http://www.informatik.uni-ulm.de/acm/Locals/2003/html/judge.htm

【在 g***m 的大作中提到】
: hmm...
: 所以有什么办法能把DP的空间降到n^2以下呢?除了一边算一边动态释放空间。

h****e
发帖数: 928
9
一般Memory limit exceeded或者Runtime limit exceeded
就说明算法不够有效,要另外考虑。实在想不出来了就放狗吧。
1 (共1页)
进入JobHunting版参与讨论
相关主题
challenge: 找bug问leetcode上surrounded regions,新的test case出runtime error
histogram问题问道G题(2)
google的一道题求解微软 Bing Ads team 面经
问个largest rectangle in histogram的问题Google interview question
leetcode container with most watergoogle 面试题
leetcode: largest rectangle in histogram求帮助总结一道题
Is leetcode OJ down?请问一道题--给一个正方形矩阵,每个元素要么黑色要么白色,请找出最大的纯色子矩阵
又要做题了,郁闷O(NlogN) largest rectangle in histogram
相关话题的讨论汇总
话题: 数组话题: dp话题: 空间话题: size话题: large