力扣 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;
    }
}
相关推荐
Asmalin4 小时前
【代码随想录day 29】 力扣 135.分发糖果
算法·leetcode·职场和发展
微笑尅乐4 小时前
多解法详解与边界处理——力扣7.整数反转
算法·leetcode·职场和发展
夏鹏今天学习了吗4 小时前
【LeetCode热题100(31/100)】K 个一组翻转链表
算法·leetcode·链表
薰衣草23334 小时前
力扣——位运算
python·算法·leetcode
未知陨落4 小时前
LeetCode:83.打家劫舍
算法·leetcode
Pluchon4 小时前
硅基计划4.0 算法 字符串
java·数据结构·学习·算法
三年呀4 小时前
共识算法的深度探索:从原理到实践的全面指南
算法·区块链·共识算法·分布式系统·区块链技术·高性能优化
alex1005 小时前
BeaverTails数据集:大模型安全对齐的关键资源与实战应用
人工智能·算法·安全
麦格芬2305 小时前
LeetCode 416 分割等和子集
数据结构·算法
2401_841495645 小时前
【自然语言处理】Universal Transformer(UT)模型
人工智能·python·深度学习·算法·自然语言处理·transformer·ut