259. 3Sum Smaller Given an array of n integers nums and a target, find the number of index triplets i, j, k with 0 <= i < j < k < n that satisfy the condition nums[i] + nums[j] + nums[k] < target. For example, given nums = [-2, 0, 1, 3], and target = 2. Return 2. Because there are two triplets which sums are less than 2: [-2, 0, 1] [-2, 0, 3] Follow up: Could you solve it in O(n2) runtime? public class Solution { public int threeSumSmaller(int[] nums, int target) { // å å°æ°ç»æåº Arrays.sort(nums); int cnt = 0; for(int i = 0; i < nums.length - 2; i++){ int left = i + 1, right = nums.length - 1; while(left < right){ int sum = nums[i] + nums[left] + nums[right]; // 妿ä¸ä¸ªæ°çå大äºçäºç®æ æ°ï¼é£å°å°¾æéå左移 if(sum >= target){ right--; // 妿ä¸ä¸ªæ°çåå°äºç®æ æ°ï¼é£å°å¤´æéåå³ç§» } else { // right - left个ç»å齿¯å°äºç®æ æ°ç cnt += right - left; left++; } } } return cnt; } }