力扣-数组-704 二分查找

解析

经典二分,重点在于左闭右闭区间约定好后,根据定义更新边界

代码

cpp 复制代码
class Solution {
public:
    int search(vector<int>& nums, int target) {
        int left = 0, right = nums.size() - 1;
        while(left <= right){
            int mid = (left + right) / 2;
            if(nums[mid] < target){
                left = mid + 1;
            }else if(nums[mid] > target){
                right = mid - 1;
            }else{
                return mid;
            }
        }
        return -1;
    }
};
相关推荐
踩坑记录16 小时前
递归回溯本质
leetcode
zmzb010316 小时前
C++课后习题训练记录Day105
开发语言·c++·算法
好学且牛逼的马16 小时前
【Hot100|25-LeetCode 142. 环形链表 II - 完整解法详解】
算法·leetcode·链表
H Corey17 小时前
数据结构与算法:高效编程的核心
java·开发语言·数据结构·算法
SmartBrain17 小时前
Python 特性(第一部分):知识点讲解(含示例)
开发语言·人工智能·python·算法
01二进制代码漫游日记18 小时前
自定义类型:联合和枚举(一)
c语言·开发语言·学习·算法
小学卷王18 小时前
复试day25
算法
样例过了就是过了18 小时前
LeetCode热题100 和为 K 的子数组
数据结构·算法·leetcode
二年级程序员18 小时前
单链表算法思路详解(下)
c语言·数据结构·算法
HAPPY酷18 小时前
C++ 成员指针(Pointer to Member)完全指南
java·c++·算法