首页 > 其他分享 >代码随想录——数组

代码随想录——数组

时间:2022-11-23 14:48:18浏览次数:67  
标签:target nums int 代码 随想录 mid length 数组

前言:由于时间有限,刷代码随想录就不再像剑指offer的几篇博客那样把题解写的那么详细了。这里仅写几个注意点,详细题解看卡神的即可。

二分查找

题目 简单

注意:

  1. 区间的处理
  2. 找到后立刻返回(做的时候忘记了,导致死循环超时)
class Solution {
    public int search(int[] nums, int target) {
        // 避免当 target 小于nums[0] nums[nums.length - 1]时多次循环运算
        if (target < nums[0] || target > nums[nums.length - 1]) {
            return -1;
        }
        int left = 0, right = nums.length - 1;
        while (left <= right) {
            int mid = left + ((right - left) >> 1);
            if (nums[mid] == target)
                return mid;
            else if (nums[mid] < target)
                left = mid + 1;
            else if (nums[mid] > target)
                right = mid - 1;
        }
        return -1;
    }
}

 

标签:target,nums,int,代码,随想录,mid,length,数组
From: https://www.cnblogs.com/CWZhou/p/16918190.html

相关文章