二分查找-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;
    }
相关推荐
?abc!9 小时前
(数组)581. 最短无序连续子数组
数据结构·算法·leetcode
hold?fish:palm12 小时前
40 二叉树的直径
c++·leetcode
guo_wen_qiang13 小时前
二叉树的层序遍历-使用双端队列Deque
算法·leetcode·1024程序员节
爱读书的小胖13 小时前
LeetCode 55 跳跃游戏 C 语言解题分析
c语言·数据结构·算法·leetcode·1024程序员节
Navigator_Z14 小时前
LeetCode //C - 1300. Sum of Mutated Array Closest to Target
c语言·算法·leetcode
凯瑟琳.奥古斯特15 小时前
力扣1016高效解法:剪枝优化技巧
开发语言·c++·算法·leetcode·职场和发展
qz_Serene16 小时前
练习算法题:双指针 -cpp
c++·算法·leetcode·1024程序员节
Nuanyt17 小时前
Hot 100 刷题笔记 · 数组与哈希专题(3 题)
java·笔记·算法·leetcode·哈希算法·1024程序员节
爱读书的小胖17 小时前
LeetCode 274 H 指数 C 语言解题分析
c语言·算法·leetcode·1024程序员节
如何原谅奋力过但无声20 小时前
【LeetCode hot100】代码随想录未cover部分
数据结构·算法·leetcode