首页 > 代码库 > LeetCode:35. Search Insert Position

LeetCode:35. Search Insert Position

 1 package Today;
 2 //LeetCode:35. Search Insert Position
 3 /*
 4  Given a sorted array and a target value, return the index if the target is found. 
 5  If not, return the index where it would be if it were inserted in order.
 6 
 7 You may assume no duplicates in the array.
 8 
 9 Here are few examples.
10 [1,3,5,6], 5 → 2
11 [1,3,5,6], 2 → 1
12 [1,3,5,6], 7 → 4
13 [1,3,5,6], 0 → 0
14  */
15 public class searchInsert35 {
16     public static int searchInsert(int[] nums, int target) {
17         for(int i=0;i<nums.length;i++){
18             if(nums[i]>=target)
19                 return i;
20         }
21         return nums.length;
22     }
23     //study 写的磕磕巴巴的
24     public static int searchInsert2(int[] nums,int target){
25         int left=0,right=nums.length;
26         while(left<right){
27             int mid=(left+right)/2;
28             if(nums[mid]==target) 
29                 return mid;
30             else if(nums[mid]<target)
31                 left=mid+1;
32             else
33                 right=mid;
34         }
35         return left;
36     }
37     public static void main(String[] args) {
38         // TODO Auto-generated method stub
39         int[] nums={1,3,5,6};
40         System.out.println(searchInsert(nums,5));
41         System.out.println(searchInsert(nums,2));
42         System.out.println(searchInsert(nums,7));
43         System.out.println(searchInsert(nums,0));
44         
45         
46         System.out.println(searchInsert2(nums,5));
47         System.out.println(searchInsert2(nums,2));
48         System.out.println(searchInsert2(nums,7));
49         System.out.println(searchInsert2(nums,0));
50     }
51 
52 }

 

LeetCode:35. Search Insert Position