fucking-algorithm
fucking-algorithm copied to clipboard
twoSum问题的核心思想 :: labuladong的算法小抄
文章链接点这里:twoSum问题的核心思想
Two Sum III 用SET怎么优化都TLE了
您好! 關注您的文章許久,應該算是您的小小小粉絲。 您上述的這個twoSum算法會在輸入值為 nums[] = {3,2,4} 而 target = 6 時噴錯,想請教一下,這個部分您會如何調教這個算法使之通用於各個輸入值呢? ‵‵‵ int[] twoSum(int[] nums, int target) { int left = 0, right = nums.length - 1; while (left < right) { int sum = nums[left] + nums[right]; if (sum == target) { return new int[]{left, right}; } else if (sum < target) { left++; // 让 sum 大一点 } else if (sum > target) { right--; // 让 sum 小一点 } } // 不存在这样两个数 return new int[]{-1, -1}; ‵‵‵
@JCwow 仔细看文章,这个解法本来就是输入数组有序的情况下使用的,而你给的用例并不是有序的。
@labuladong 最后这个类似于binary search, 思想很赞。