【LeetCode 热题 100】两数之和(Java&HashMap)
1.多添加几个指针,如k=i+2,q=i+3,然后同时判断,接下来一次性跳多个数,但是需要检验边界,避免k、q越界。优化思路:结合上前面的双指针,可以再减少for循环一半的时间,将时间复杂度降为O(n/2)。不过综合来看,复杂度其实并没有太多的优化,两层for循环遍历还是太消耗性能。使用HashMap存储键值对,因为是在比较数,所以将数作为键,下标作为值。2.在尾部也用一个指针,然后同时向左移动,这样第二层循环可以减少一半。而不是全部加进去再判断,这样会多会耗费O(n)的时间复杂度。,请你在该数组中找出。
原创
2024-08-11 21:59:20 ·
236 阅读 ·
0 评论