提交 2957f3ad 编写于 作者: GreyZeng's avatar GreyZeng

update code

上级 cfe9a9e3
......@@ -4,34 +4,22 @@ package git.snippet.binarysearch;
// 二分查找: 在一个有序数组中,找大于等于某个数最左侧的位置,如果找不到,则返回数组长度
// https://leetcode.com/problems/search-insert-position/
public class LeetCode_0035_SearchInsertPosition {
public static int searchInsert(int[] nums, int target) {
if (nums == null || nums.length < 1) {
return 0;
}
int ans = nums.length;
int l = 0;
int r = nums.length - 1;
while (l <= r) {
int m = l + ((r - l) >> 1);
if (nums[m] == target) {
ans = m;
r = m - 1;
} else if (nums[m] > target) {
ans = m;
r = m - 1;
public int searchInsert(int[] nums, int target) {
int result = nums.length;
int left = 0;
int right = nums.length - 1;
while (left <= right) {
int mid = left + ((right - left) >> 1);
if (nums[mid] == target) {
result = mid;
right = mid - 1;
} else if (nums[mid] < target) {
left = mid + 1;
} else {
// nums[m] < target
l = m + 1;
result = mid;
right = mid - 1;
}
}
return ans;
}
public static void main(String[] args) {
int[] nums = {1, 3, 5, 6};
System.out.println(searchInsert(nums, 5));
System.out.println(searchInsert(nums, 2));
System.out.println(searchInsert(nums, 7));
return result;
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册