Binary Search
Tips
- Always use
left < right mid = (left + right + 1)/2VSmid = (left + right)/2mid = (left + right)/2to findfirstvalid elementmid = (left + right + 1)/2to findlastvalid element
Valid Triangle Number
Leetcode - Valid Triangle Number
package dev.namtx.leetcode;
import java.util.Arrays;
public class ValidTriangleNumber {
public int triangleNumber(int[] nums) {
Arrays.sort(nums);
int ans = 0;
for (int i = nums.length - 1; i >= 0; i--) {
int left = 0;
int right = i - 1;
while (left < right) {
if (nums[left] + nums[right] > nums[i]) {
ans += right - left;
right--;
} else {
left++;
}
}
}
return ans;
}
}