由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 数组中找和为0的3个数,4个数
相关主题
有没有这样的题型贡献另外一个Amazon面试的题
sorted arry, 找最长重复subarraycounting sort an array of objects怎么做
请教fackbook一道题有谁还记得这道题?
Amazon 电面题, 觉得不可能再优化了!anybody remember this question?? (about sorting)
amazon的一道题[算法] unsorted array
heap sort的缺点是什么?和quick sort比一个NxN矩阵每行每列都sort好,如何排序?
amazon面完感受: 不会的都不考一个特别的inplace merge two sorted arrays
数组里找第二大的数有A[i]
相关话题的讨论汇总
话题: 个数话题: 数组话题: tmp1话题: sort话题: 中找
进入JobHunting版参与讨论
1 (共1页)
C***y
发帖数: 2546
1
这题有啥好办法?
b******g
发帖数: 1721
2
那我就抛砖引玉了,针对3个数的。
1. 两个for-loops得到任意2个数的和,存在一个临时数组,tmp1. O(n^2)
2. sort (tmp1). O(nlogn)如果merge sort.
3. 再扫一遍原来数组,对于每个元素,a, search(-a) 在sorted tmp1. O(nlogn)
所以,O(n^2).
自我感觉,我们必须对所以pair的数进行判断,所以这就是最优化的算法。
y***d
发帖数: 2330
3
那个 sort 是(n^2)log(n^2)

【在 b******g 的大作中提到】
: 那我就抛砖引玉了,针对3个数的。
: 1. 两个for-loops得到任意2个数的和,存在一个临时数组,tmp1. O(n^2)
: 2. sort (tmp1). O(nlogn)如果merge sort.
: 3. 再扫一遍原来数组,对于每个元素,a, search(-a) 在sorted tmp1. O(nlogn)
: 所以,O(n^2).
: 自我感觉,我们必须对所以pair的数进行判断,所以这就是最优化的算法。

C***y
发帖数: 2546
4
稍微改进一下:
1.直接sort原来的数组
2.从第一个元素开始,扫描当前元素a[i]后面的subarray (a[i+1] to a[n-1],找和为
-a[i]的pair,因为是sorted,所以可以O(n-i)找到
复杂度应该还是O(n^2)

【在 b******g 的大作中提到】
: 那我就抛砖引玉了,针对3个数的。
: 1. 两个for-loops得到任意2个数的和,存在一个临时数组,tmp1. O(n^2)
: 2. sort (tmp1). O(nlogn)如果merge sort.
: 3. 再扫一遍原来数组,对于每个元素,a, search(-a) 在sorted tmp1. O(nlogn)
: 所以,O(n^2).
: 自我感觉,我们必须对所以pair的数进行判断,所以这就是最优化的算法。

S*******0
发帖数: 198
5
不如直接把tmp1放在hash table里,scan原来数组,看-a是否在table里

【在 b******g 的大作中提到】
: 那我就抛砖引玉了,针对3个数的。
: 1. 两个for-loops得到任意2个数的和,存在一个临时数组,tmp1. O(n^2)
: 2. sort (tmp1). O(nlogn)如果merge sort.
: 3. 再扫一遍原来数组,对于每个元素,a, search(-a) 在sorted tmp1. O(nlogn)
: 所以,O(n^2).
: 自我感觉,我们必须对所以pair的数进行判断,所以这就是最优化的算法。

b******g
发帖数: 1721
6
是nlogn吧,tmp1的size仍然是等于原始数组的长度,n。

【在 y***d 的大作中提到】
: 那个 sort 是(n^2)log(n^2)
w****x
发帖数: 2483
7
那个sort的确是O(n^2 logn)
m*****k
发帖数: 731
8
Nice!

【在 C***y 的大作中提到】
: 稍微改进一下:
: 1.直接sort原来的数组
: 2.从第一个元素开始,扫描当前元素a[i]后面的subarray (a[i+1] to a[n-1],找和为
: -a[i]的pair,因为是sorted,所以可以O(n-i)找到
: 复杂度应该还是O(n^2)

q***0
发帖数: 43
9
This is called the sub-set sum problem.
b******g
发帖数: 1721
10
确实是O(n^2logn^2)

【在 w****x 的大作中提到】
: 那个sort的确是O(n^2 logn)
r****t
发帖数: 10904
11
这个办法也适合于 4 个数的,写成递归就行了。不知道复杂度多少?

【在 C***y 的大作中提到】
: 稍微改进一下:
: 1.直接sort原来的数组
: 2.从第一个元素开始,扫描当前元素a[i]后面的subarray (a[i+1] to a[n-1],找和为
: -a[i]的pair,因为是sorted,所以可以O(n-i)找到
: 复杂度应该还是O(n^2)

1 (共1页)
进入JobHunting版参与讨论
相关主题
有A[i]amazon的一道题
问道题的解题思路heap sort的缺点是什么?和quick sort比
来道难一点的题amazon面完感受: 不会的都不考
找连续最长子数组使得总和小于等于一定值数组里找第二大的数
有没有这样的题型贡献另外一个Amazon面试的题
sorted arry, 找最长重复subarraycounting sort an array of objects怎么做
请教fackbook一道题有谁还记得这道题?
Amazon 电面题, 觉得不可能再优化了!anybody remember this question?? (about sorting)
相关话题的讨论汇总
话题: 个数话题: 数组话题: tmp1话题: sort话题: 中找