由买买提看人间百态

topics

全部话题 - 话题: subarray
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
s********u
发帖数: 1109
1
来自主题: JobHunting版 - Amazon onsite面经加求祝福
二维平面上有很多圆,圆心都在原
点,同时平面上有很多点,问哪两个相邻的圆环之间的点最多
难道不是算所有点离原点的距离,然后看落在哪个范围,对应的count就加1,然后最后
找count数组的最大值?跟subarray和最远距离有何关系。。
就是“看落在哪个范围”没想到好办法,只能将圆环按半径排序后,用二分法去找么
s********u
发帖数: 1109
2
来自主题: JobHunting版 - Amazon onsite面经加求祝福
二维平面上有很多圆,圆心都在原
点,同时平面上有很多点,问哪两个相邻的圆环之间的点最多
难道不是算所有点离原点的距离,然后看落在哪个范围,对应的count就加1,然后最后
找count数组的最大值?跟subarray和最远距离有何关系。。
就是“看落在哪个范围”没想到好办法,只能将圆环按半径排序后,用二分法去找么
s********u
发帖数: 1109
3
来自主题: JobHunting版 - Gas station 的另一种解题思路
嗯,其实核心思想就是dp吧。我觉得跟那个maximum subarray是类似的。
我写的:
for(int i = 0; i < size; i++){

sum += gas[i] - cost[i];

if(subSum > 0)
subSum += gas[i] - cost[i];
else{
subSum = gas[i] - cost[i];
index = i;
}

}

if(sum < 0) return -1;
return index;
}
s********u
发帖数: 1109
4
来自主题: JobHunting版 - Gas station 的另一种解题思路
嗯,其实核心思想就是dp吧。我觉得跟那个maximum subarray是类似的。
我写的:
for(int i = 0; i < size; i++){

sum += gas[i] - cost[i];

if(subSum > 0)
subSum += gas[i] - cost[i];
else{
subSum = gas[i] - cost[i];
index = i;
}

}

if(sum < 0) return -1;
return index;
}
P**********k
发帖数: 1629
5
来自主题: JobHunting版 - 国内Google电面两轮 已挂
这个不就是用integral image
先建一个NxN的pre-sum数组,然后这个数组的(i,j)元素存的是从(0, 0)到(i, j)的
subarray的和,
这样每次query任意sub-array的和,只用取出对应这个pre-sum数组的四个顶点的值
A -----B
| |
| |
C-----D
然后计算A+D-B-C就行了,这样query就是O(1).
P**********k
发帖数: 1629
6
来自主题: JobHunting版 - 国内Google电面两轮 已挂
这个不就是用integral image
先建一个NxN的pre-sum数组,然后这个数组的(i,j)元素存的是从(0, 0)到(i, j)的
subarray的和,
这样每次query任意sub-array的和,只用取出对应这个pre-sum数组的四个顶点的值
A -----B
| |
| |
C-----D
然后计算A+D-B-C就行了,这样query就是O(1).
f********e
发帖数: 91
7
来自主题: JobHunting版 - LGTF面经和总结
谢谢LZ的面经
问一个问题 Longest increasing subarray 的O(n)解法是什么呀?我知道O(n^2)
和O(nlgn)的解法。。。

f********e
发帖数: 91
8
来自主题: JobHunting版 - LGTF面经和总结
谢谢LZ的面经
问一个问题 Longest increasing subarray 的O(n)解法是什么呀?我知道O(n^2)
和O(nlgn)的解法。。。

p*****e
发帖数: 537
9
来自主题: JobHunting版 - G onsite面经 加求blessing
Subarray sum那道题,我觉得如果O(n^2)可以的话,有至少2种解法,prefix sum
array,或是一个2D DP, 其实本质都一样。
有没有大牛说说优于O(n^2)的解法?
n******f
发帖数: 318
10
“对于题目所求,我们希望s[i]越大越好,s[j + 1]越小越好,这样他们的差才会小”
我觉得这个不对。这样求出来的是平均值较小的,而不是满足条件的最长的subarray。
有时候,s[j+1+1]对应的数a[j+1](不是递减点),由于a[j+1]较小,但是跟前面的
suarray平均下,依旧满足条件。
愚见而已,还请大神们指点。
c*******2
发帖数: 60
11
来自主题: JobHunting版 - G家onsite一题
then with an additional condition that subarray.length <= A.length ?
n****e
发帖数: 678
12
来自主题: JobHunting版 - G家onsite一题
一样的方法,
用两个index来表示subarray的beg和end。当beg > end,说明跨界。
g*******u
发帖数: 3948
a*********2
发帖数: 194
14
divide and conquer.
分段找,中间合并检查,n*logn。
s*******z
发帖数: 83
15
是的, 当结果都是N^2的时候, 复杂度应该低不了N^2
b****p
发帖数: 216
16
一个一个加起来,sum array排序,然后两个指针一个从头一个从屁股扫一下就好了。
s******t
发帖数: 229
17
还是n2啊
F********9
发帖数: 44
18

你这样会漏掉一些解吧。 比如合并 【2 -5】 【6-7】时会漏了 【4-6】等可能的解呀
x*******i
发帖数: 26
19
"跨mid的区间O(n)找到。"
这个不行吧? 比如说 左边 (1 ,2, 3), 右边 (4, 5 ,6),range (0, 100),
那跨中间的组合是 9种 {(3, 4), (3,4, 5), (3,4,5,6), (2,3,4)...}, n^2.

1
f**********t
发帖数: 1001
c******n
发帖数: 100
21
这样不行吧。
比如 dp[i]+num[i+1] 不在range中不代表 dp[i+1] 不存在啊。(可以drop之前的元素)
x*******9
发帖数: 138
22
数组长度为N,把整个数组分为K段。这里取 K=sqrt(N)。
一段子数组我们用[st, end]来表示。
我们要统计每段子数组[st...x]的取值。
例如,[1, 2, 3]。sum([1]) = 1, sum([1, 2]) = 3, sum([1, 2, 3]) = 6。 然后排
序累加,使得类似“这一段子数组在和大于3有多少个”的Query的时间复杂度为O(log(
K))。
然后遍历数组,通过预处理好的子数组序列进行计算。
预计时间复杂度为O(n * sqrt(n) * log(n))。
比O(n^2)要好一点。不过比较难写。。。=。=
l******6
发帖数: 340
23
来自主题: JobHunting版 - 被VMWARE鄙视了(面经并求comment)
integer数组分三份,使彼此有最小difference.
Does it require all subarray have equal size?
Y******g
发帖数: 16
24
树状数组
http://zh.wikipedia.org/wiki/%E6%A0%91%E7%8A%B6%E6%95%B0%E7%BB%
树状数组支持
1)更行数组中的一个元素
2)求任意连续subarray的和
这两个操作都是O(lnN),N是数组中元素个数。如果只有100个数字,这个就成常数了。
g******y
发帖数: 143
25
来自主题: JobHunting版 - M面经
Interviewed with Kinect group
Phone interview
1.implement an image convolution and optimize it
2. find the intersection of two rectangles
Onsite
Round1
1. Implement strstr() and optimize it
2. Implement histogram equalization algorithm
3. Bayes conditional probability
Round2
1. Implement a fixed floating point class
2. Square root of a number (the number can be less than 1)
Round3
1. Find subarray which has max sum
2. Find the kth element in two sorted arrays
Round4
1. Im... 阅读全帖
l***i
发帖数: 1309
26
来自主题: JobHunting版 - G 面试 advanced algorithms
面试的人问了个题,第一问用个hashtable就搞出来了,第二问只能用hungarian做,但
是我说了一半发现对方确实是不知道这个算法,估计面试官不知道从哪个难题集里面搞
了个题来欺负人。还有一次一个兄弟问max sum subarray,然后不知道O(1) space的做
法,当时我也没证明我的做法是对的,回家的路上才想起来他可能要的是dp[k] = max(
dp[k-1] + a[k], a[k])这样的做法。
一般来说FLGT这种级别的公司可以认为面试的人是比较懂他出的题的,一般的公司就先
给个笨办法,然后讲高级做法。另外就是如果对方表示不懂你的做法,你有义务证明你
的做法的正确性。
l******e
发帖数: 54
27
来自主题: JobHunting版 - G 面试 advanced algorithms
只能用那个算法…这是什么难题
subarray 就是想问证明吧 比如反证就可以

max(
j**********3
发帖数: 3211
28
来自主题: JobHunting版 - 回馈本版--报告一些最近的面筋
Subarray with max prod 用什么方法做简单?如果不用divided & conquer
a*******e
发帖数: 455
29
来自主题: JobHunting版 - 回馈本版--报告一些最近的面筋
subarray max prod, 要考虑负数不? 谢谢
m******x
发帖数: 58
30
max product of subarray
c*5
发帖数: 130
31
来自主题: JobHunting版 - 被G电面给毙了
这题肯定不是这样啊 毕竟是google面试, 肯定要用快慢指针linear那个解法, 最后返
回整个array的subarray?? leetcode那是返回长度
t*******i
发帖数: 4960
32
来自主题: JobHunting版 - 现在流行打电话据人么?只是电面
L家小姑娘给我出了 max product of subarray 和一道leetcode原题。
想了半天才想到解法,又没写完。 :(
t*******i
发帖数: 4960
33
来自主题: JobHunting版 - L 家第二轮电面考什么?
我不是 local。
女面试官给考了道 max product of subarray, 没作完,从来没作过。
这还要加难度啊?
w*********e
发帖数: 207
34
来自主题: JobHunting版 - L 家第二轮电面考什么?
这 max product subarray 和lc上的max sum有什么区别
o****n
发帖数: 937
35
来自主题: JobHunting版 - L 家第二轮电面考什么?
别想太多,L,外地的话,本身就是2轮电面。其实和第一轮差别不大。好好准备放轻松
心态。
另外,max p of subarray,思路当时说清楚了么?写不完没关系,说清楚自己怎么思
考的,可能遇到什么问题,比背答案更有用
t*******i
发帖数: 4960
36
来自主题: JobHunting版 - L 家第二轮电面考什么?
我最后想出来的解法类似这个。
http://www.dsalgo.com/2013/02/maximum-product-subarray.html
网上有更好的解法。
http://taop.marchtea.com/28.0.html
l****o
发帖数: 135
37
来自主题: JobHunting版 - 请大牛解释一下leetcode新题
Maximum Product Subarray
找到这个solution比较简洁,但是不很明白,谁能帮忙解释一下?为啥不需要考虑负数?
http://leetcodesolution.blogspot.com/2014/09/leetcode-maximum-p
h*******e
发帖数: 1377
38
大家讨论讨论。。。我想到比较naive的想法 对于不为零的一段空间, 是做个 dp[
10001][10] 10是任意取的 一个是 无穷大的,一个保存靠近 1 大于 和 小于 1 的 靠
近 0的 大于小于 负一的
,然后 相乘后update当前的index里面各个dp value~~
然后再和前面的index 相除 得到 sub array sum(double val) 然后取最大值
然后大概复杂度 O(N^2) 思路不严密
,有没有心细的版友 补充完全。
h*******e
发帖数: 1377
39
对。。不好意思。我自己瞎给改名了。~~~
h*******e
发帖数: 1377
h*******e
发帖数: 1377
41
好的,你的做法很好,用了一个性质,2个极值 *新的数 依然是 2个极值~~然后
不断用新数刷新极值。 依次得到最后的极值,开始我也想到这种dp但是想得不深入~
~~以
为此路不通~~。你的方法给我很大启发。

本身
及A
h*******e
发帖数: 1377
42
新技能get..3数求max 比我之前用的好~~~
r****7
发帖数: 2282
C********e
发帖数: 492
44
来自主题: JobHunting版 - 一道 A9.com Search Team 的面经难题
为什么要leftSum[i] == leftSum[j] ?
这意味着i ~ j 之间都是0,并不是要找的subarray啊
s***5
发帖数: 2136
45
来自主题: JobHunting版 - FB电面面经
the hash table uses the sum up to each index i + the target sum as the key,
and index i as the mapping value,
the "acc" array contain the sum up to each index j
if acc[j] is the key in the hash table with mapping value i, you know the
subarray [i+1,j] is summed up to the target sum
clear?
s*********p
发帖数: 130
46
来自主题: JobHunting版 - FB电面面经
貌似 g4g 有个讲解。
http://www.geeksforgeeks.org/find-subarray-with-given-sum/
y*****e
发帖数: 712
47
来自主题: JobHunting版 - FB电面面经
我当时放了i是因为自己写了几个test case,return的不是true or false, 而是
subarray的start和end index, 所以放了i好比较结果对不对。如果按原题只return
boolean的话,应该用hashset就可以。

了?
i******d
发帖数: 61
48
来自主题: JobHunting版 - FB电面面经
我也写了一下想return所有符合条件的subarray的start和end index,发现用hashmap也
没法return全,因为有可能sum[i]会重复,这样会丢掉一些i的信息。不知道有什么好
办法?
s***5
发帖数: 2136
49
来自主题: JobHunting版 - FB电面面经
the hash table uses the sum up to each index i + the target sum as the key,
and index i as the mapping value,
the "acc" array contain the sum up to each index j
if acc[j] is the key in the hash table with mapping value i, you know the
subarray [i+1,j] is summed up to the target sum
clear?
s*********p
发帖数: 130
50
来自主题: JobHunting版 - FB电面面经
貌似 g4g 有个讲解。
http://www.geeksforgeeks.org/find-subarray-with-given-sum/
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)