ksum 问题

来源:互联网 发布:打谱软件overture4.0 编辑:程序博客网 时间:2024/04/27 18:19

点击打开链接

包含2sum 3sum 4sum 和 ksum。理想complexity是 O(n^(k/2))

1.leetcode 中2sum不能使用two pointers的方法,因为它需要返回原来数组中的index,例如(0,4,3,0) 0,它会一直找第一个0,而不返回第二个0的索引值。

   正确做法直接用hashtable,扫一遍数组,在hashtable中查找是否存在target-numbers[i]。(并且不需要先排序。two pointers的方法需要先排序。)

2.一般ksum问题都是先排序,然后用two pointers的方法,最后注意去重。

3.用hashtable的方法注意在最后返回结果之前总体去重。不可以想two pointers的方法在寻找的过程中去重。

0 0
原创粉丝点击