二分查找-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;
    }
相关推荐
yyds_yyd_1008610 小时前
1464. 数组中两元素的最大乘积(2026.07.27)
数据结构·c++·算法·leetcode
玖玥拾14 小时前
LeetCode 26 删除有序数组中的重复项
算法·leetcode
白白白小纯16 小时前
算法篇—返回倒数第k个节点
c语言·数据结构·算法·leetcode
退休倒计时16 小时前
【复习】LeetCode 二叉树DFS TypeScript
算法·leetcode·typescript·深度优先
白白白小纯18 小时前
算法篇—链表的中间节点
c语言·数据结构·算法·leetcode
Frostnova丶18 小时前
(19)LeetCode 54. 螺旋矩阵
算法·leetcode·矩阵
Frostnova丶18 小时前
(18)LeetCode 73. 矩阵置零
算法·leetcode·矩阵
番茄撒旦在上18 小时前
LeetCode 98.验证二叉搜索树-Medium
算法·leetcode
rannn_11119 小时前
【力扣hot100】哈希表专题——从两数之和到最长连续序列
java·算法·leetcode·哈希
go不是csgo20 小时前
从模板到五道 LeetCode:完全背包的 Golang 教学笔记
笔记·leetcode·golang