二分查找-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;
    }
相关推荐
千金裘换酒16 小时前
LeetCode 删除链表的倒数第N个结点
算法·leetcode
老鼠只爱大米16 小时前
LeetCode算法题详解 42:接雨水
leetcode·动态规划·双指针·单调栈·接雨水·雨水收集
AlenTech17 小时前
739. 每日温度 - 力扣(LeetCode)
算法·leetcode·职场和发展
老鼠只爱大米17 小时前
LeetCode算法题详解 11:盛最多水的容器
leetcode·面试题·双指针·盛最多水的容器·面积最大化
im_AMBER20 小时前
Leetcode 99 删除排序链表中的重复元素 | 合并两个链表
数据结构·笔记·学习·算法·leetcode·链表
源代码•宸21 小时前
Leetcode—1123. 最深叶节点的最近公共祖先【中等】
经验分享·算法·leetcode·职场和发展·golang·dfs
alphaTao21 小时前
LeetCode 每日一题 2026/1/5-2026/1/11
算法·leetcode
黎雁·泠崖21 小时前
二叉树知识体系全梳理:从基础到进阶一站式通关
c语言·数据结构·leetcode
Cx330❀1 天前
【优选算法必刷100题】第43题(模拟):数青蛙
c++·算法·leetcode·面试