-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathsearchInsertPosition.java
More file actions
29 lines (29 loc) · 917 Bytes
/
searchInsertPosition.java
File metadata and controls
29 lines (29 loc) · 917 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public class searchInsertPosition {
public static void main(String[] args){
searchInsertPosition obj = new searchInsertPosition();
int[] nums = new int[] {1,3,5,6};
System.out.println(obj.searchInsert(nums,5));
System.out.println(obj.searchInsert(nums,2));
System.out.println(obj.searchInsert(nums,7));
System.out.println(obj.searchInsert(nums,0));
}
public int searchInsert(int[] nums, int target){
int left = 0, right = nums.length-1;
int mid;
while(left + 1 < right){
mid = left + (right-left)/2;
if(nums[mid]>target){
right = mid;
}else{
left = mid;
}
}
if(target > nums[right]){
return right+1;
}else if(target <= nums[left]){
return left;
}else{
return left+1;
}
}
}