Redian新闻
>
草坪灌溉金属阀坏了
avatar
草坪灌溉金属阀坏了# Living
C*y
1
这题有啥好办法?
avatar
G*a
2
草坪灌溉阀坏了,没有找到管灌溉的分阀,只找到总水阀,怎样处理。多谢!
avatar
b*g
3
那我就抛砖引玉了,针对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的数进行判断,所以这就是最优化的算法。
avatar
m*t
4
墙上还是地上
avatar
y*d
5
那个 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的数进行判断,所以这就是最优化的算法。

avatar
G*a
6
di shang
avatar
C*y
7
稍微改进一下:
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的数进行判断,所以这就是最优化的算法。

avatar
S*0
8
不如直接把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的数进行判断,所以这就是最优化的算法。

avatar
b*g
9
是nlogn吧,tmp1的size仍然是等于原始数组的长度,n。

【在 y***d 的大作中提到】
: 那个 sort 是(n^2)log(n^2)
avatar
w*x
10
那个sort的确是O(n^2 logn)
avatar
m*k
11
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)

avatar
q*0
12
This is called the sub-set sum problem.
avatar
b*g
13
确实是O(n^2logn^2)

【在 w****x 的大作中提到】
: 那个sort的确是O(n^2 logn)
avatar
r*t
14
这个办法也适合于 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)

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。