力扣 LeetCode 704. 二分查找(Day1:数组)

解题思路:

二分查找主要分为[ left , right ]左闭右闭和[ left , right )左闭右开两种

此处采取[ left , right ]左闭右闭写法

注意:

  1. right的初始化取值

  2. while中取等

  3. right = mid -1 ;

java 复制代码
class Solution {
    public int search(int[] nums, int target) {
        int left = 0;
        int right = nums.length - 1;

        while (left <= right) {
            int mid = left + ((right - left) >> 1);
            if (nums[mid] > target) {
                right = mid - 1;
            } else if (nums[mid] < target) {
                left = mid + 1;
            } else {
                return mid;
            }
        }
        return -1;
    }
}
相关推荐
suuijbd1 小时前
个人总结八股文之-基础篇(持续更新)
算法
2401_881244401 小时前
斐波那契数列------矩阵幂法
线性代数·算法·矩阵
机器学习与统计学1 小时前
阿里牛逼,又开源两个遥遥领先的模型(向量化、重排),知识库要翻天地覆了
算法
小河豚oO1 小时前
LeetCode刷题---贪心算法---944
算法·leetcode·贪心算法
【杨(_> <_)】1 小时前
信号处理分析工具——时频分析(一)
算法·matlab·信号处理
还不起来学习?1 小时前
常见算法题目5 -常见的排序算法
java·算法·排序算法
Once_day2 小时前
代码训练LeetCode(23)随机访问元素
算法·leetcode
小河豚oO2 小时前
LeetCode 热题 100 - 哈希 - 128
算法·leetcode·哈希算法
客卿1232 小时前
力扣100题之128. 最长连续序列
算法·leetcode·哈希算法
T1an-12 小时前
【力扣链表篇】206.反转链表
算法·leetcode·链表