259. 3Sum Smaller
和3Sum比较像
1 public int threeSumSmaller(int[] nums, int target) { 2 if(nums.length < 3) { 3 return 0; 4 } 5 int count = 0; 6 Arrays.sort(nums); 7 for(int i = 0; i < nums.length - 2; i++) { 8 int left = i + 1; 9 int right = nums.length - 1; 10 while(left < right) { 11 if(nums[i] + nums[left] + nums[right] < target) { 12 count += right - left; 13 left++; 14 } else { 15 right--; 16 } 17 } 18 } 19 return count; 20 }
我觉得这种方法没有有效跳过重复数字,但是ac了。
O(n)