TIL (2021.12.20)

Binary Search - searchInsert <ーleetcode
nums = [1,3,5,6], target = 2
ターギットは2。numsの1より高く、3より低い。だから、1と3の真ん中に入ればOK。それをindexで表現すれば、1!この問題は配列の真ん中のを探して、配列の最初の数字と最後の数字を配列の真ん中数字とターギット数字と比べて変更して位置を探せばいい。

class Solution {
    public int searchInsert(int[] nums, int target) {
        int start = 0;
        int end = nums.length-1;
        
        while(start<=end){
            int mid = (start+end)/2;
            if(nums[mid]==target){
                return mid;
            }else if(nums[mid]<target){
                start=mid+1;
            }else{
                end=mid-1;
            }
        }
        return start;
    }
}

좋은 웹페이지 즐겨찾기