class Solution {
public int lowerBound(int[] nums, int target) {
int left = 0, right = nums.length - 1, ans = -1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (nums[mid] >= target) {
ans = mid;
right = mid - 1;
} else left = mid + 1;
}
return ans;
}
}
Explanation: When a valid element is found, search left to find the earliest index.
β± O(log n) | πΎ O(1)