力扣 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;
    }
}
相关推荐
迷路的小绅士7 分钟前
计算机网络核心知识点全解析(面试通关版)
计算机网络·面试·职场和发展
weixin_4284984917 分钟前
使用HYPRE库并行装配IJ稀疏矩阵指南: 矩阵预分配和重复利用
算法·矩阵
雾削木2 小时前
mAh 与 Wh:电量单位的深度解析
开发语言·c++·单片机·嵌入式硬件·算法·电脑
__lost2 小时前
小球在摆线上下落的物理过程MATLAB代码
开发语言·算法·matlab
中小企业实战军师刘孙亮3 小时前
实体店的小程序转型之路:拥抱新零售的密码-中小企实战运营和营销工作室博客
职场和发展·小程序·创业创新·学习方法·业界资讯·零售·内容运营
mit6.8244 小时前
[Lc_week] 447 | 155 | Q1 | hash | pair {}调用
算法·leetcode·哈希算法·散列表
jerry6095 小时前
优先队列、堆笔记(算法第四版)
java·笔记·算法
勤劳的牛马5 小时前
📚 小白学算法 | 每日一题 | 算法实战:加1!
算法
Epiphany.5565 小时前
基于c++的LCA倍增法实现
c++·算法·深度优先
一只码代码的章鱼6 小时前
学习笔记2(Lombok+算法)
笔记·学习·算法