gwl999

博客园 首页 新随笔 联系 订阅 管理

5.1

二分查找

 

  • 主要思路:左变量,右变量,中间变量

  • 易错点,这里我只写一种left<right

  • 具体做法:如果mid小于target;left+1变成mid;否则right变成mid;

class Solution {
    public int search(int[] nums, int target) {
        int left =0;
        int right =nums.length;
        while(left<right){
            int mid = (left +right)/2;
            if(nums[mid]>target){
                right = mid ;
            }else if(nums[mid ] <target){
                left = mid +1;
            }else{
                return mid;
            }
            }return -1;
    }
}
posted on 2022-05-03 09:32  呓雫  阅读(20)  评论(0)    收藏  举报