Search Insert Position
Input:
[1,3,5,6], 5
Output:
2Input:
[1,3,5,6], 2
Output:
1Input:
[1,3,5,6], 7
Output:
4Analysis
Solution
Last updated
Input:
[1,3,5,6], 5
Output:
2Input:
[1,3,5,6], 2
Output:
1Input:
[1,3,5,6], 7
Output:
4Last updated
Input:
[1,3,5,6], 0
Output:
0class Solution {
public int searchInsert(int[] nums, int target) {
int left = 0, right = nums.length - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (target == nums[mid]) {
return mid;
} else if (target < nums[mid]) {
right = mid - 1;
} else {
left = mid + 1;
}
}
return left;
}
}class Solution {
public int searchInsert(int[] nums, int target) {
int left = 0, right = nums.length;
while (left < right) {
int mid = left + (right - left) / 2;
if (target == nums[mid]) {
return mid;
} else if (target < nums[mid]) {
right = mid;
} else {
left = mid + 1;
}
}
return left;
}
}class Solution {
public int searchInsert(int[] nums, int target) {
int left = 0, right = nums.length - 1;
while (left + 1< right) {
int mid = left + (right - left) / 2;
if (target == nums[mid]) {
return mid;
} else if (target < nums[mid]) {
right = mid;
} else {
left = mid;
}
}
if (target > nums[right]) {
return right + 1;
}
if (target > nums[left]) {
return left + 1;
}
return left;
}
}