二分查找-I

求解代码

java 复制代码
public int search (int[] nums, int target) {
        // 左指针:起始下标
        int left = 0;
        // 右指针:结束下标,闭区间 [left, right]
        int right = nums.length - 1;

        while (left <= right) {

            int mid = left + ((right - left) >> 1);
            if (nums[mid] < target) {
                // 目标值在右半区,左指针右移
                left = mid + 1;
            } else if (nums[mid] == target) {
                // 找到目标值,返回对应下标
                return mid;
            } else {
                // 目标值在左半区,右指针左移
                right = mid - 1;
            }
        }
        // 遍历完无目标值,返回-1
        return -1;
    }
相关推荐
不会就选b10 小时前
算法日常・每日刷题--<贪心>7
数据结构·算法·leetcode
smj2302_7968265216 小时前
解决leetcode第4017题数组中的峰值II
python·算法·leetcode
午彦琳17 小时前
2026.9.9
数据结构·算法·leetcode
橘子汽水16817 小时前
Leetcode 200,994岛屿数量,腐烂的橘子
数据结构·算法·leetcode
Tisfy19 小时前
LeetCode 3871.统计范围内的逗号 II:每次算一个逗号
数学·算法·leetcode·题解
find1star20 小时前
LeetCode 54:螺旋矩阵——用四个边界模拟矩阵收缩
java·算法·leetcode·边缘计算·学习方法
吞下星星的少年·-·20 小时前
LeetCode 热题 100 两数之和(哈希表)
算法·leetcode·哈希算法
土司大王21 小时前
LeetCode hot100——全排列
java·算法·leetcode
203号居民21 小时前
LeetCode hot 100 — 138. 随机链表的复制
算法·leetcode·链表
土司大王1 天前
LeetCode hot100——实现 Trie (前缀树)
java·算法·leetcode