Redian新闻
>
2SUM, unsorted, print all index including duplicates 能O(nlogn)解决么
avatar
2SUM, unsorted, print all index including duplicates 能O(nlogn)解决么# JobHunting - 待字闺中
s*m
1
一般来说2sum 直接排序,然后2pointer, nlogn 的时间
或者是hashmap, O(n) 的时间
题目变成这样, 比如我给 (2,2,2), target = 4,
我要输出所有可能的index, 也就是 {0,1}, {0,2} , {1,2}
想了下,是用HashMap 存一个index list的话。遍历每个元素是O(N),找到解了,打印
list中每个元素要O(n), 一共是n平方。
如果用2 pointer,似乎也没办法O(n)
各位大神有没有啥想法?
avatar
s*3
2
貌似FB面经提? 没想出o(n)的解法...
avatar
E*8
3
同问,我也没想到O(n)的解法
avatar
f*e
4
感觉有重复, o(n) 时间 不可能实现

【在 s*******m 的大作中提到】
: 一般来说2sum 直接排序,然后2pointer, nlogn 的时间
: 或者是hashmap, O(n) 的时间
: 题目变成这样, 比如我给 (2,2,2), target = 4,
: 我要输出所有可能的index, 也就是 {0,1}, {0,2} , {1,2}
: 想了下,是用HashMap 存一个index list的话。遍历每个元素是O(N),找到解了,打印
: list中每个元素要O(n), 一共是n平方。
: 如果用2 pointer,似乎也没办法O(n)
: 各位大神有没有啥想法?

avatar
l*t
5
结果的worst case有n^2个元素,所以复杂度肯定是n^2,
avatar
f*m
6
Hash可以O(n)

【在 s*******m 的大作中提到】
: 一般来说2sum 直接排序,然后2pointer, nlogn 的时间
: 或者是hashmap, O(n) 的时间
: 题目变成这样, 比如我给 (2,2,2), target = 4,
: 我要输出所有可能的index, 也就是 {0,1}, {0,2} , {1,2}
: 想了下,是用HashMap 存一个index list的话。遍历每个元素是O(N),找到解了,打印
: list中每个元素要O(n), 一共是n平方。
: 如果用2 pointer,似乎也没办法O(n)
: 各位大神有没有啥想法?

avatar
S*n
7
worst case是C^n_2。也算n^2

【在 l*****t 的大作中提到】
: 结果的worst case有n^2个元素,所以复杂度肯定是n^2,
avatar
G*O
8
请指明

【在 f*****m 的大作中提到】
: Hash可以O(n)
avatar
l*t
9
worst case是n*(n-1)/2个 pair index,所以不可能有比n^2好的方法

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