LeetCode704 二分查找

前言

题目: 704.二分查找
文档: 代码随想录------二分查找
编程语言: C++
解题状态: 解答错误,变量定义位置错误。

思路

有序数组的查找,最直接的思路应该就是二分查找。但是在查找的过程中要考虑到区间的边界问题,是左闭右开还是两边都闭。根据不同的情况来编写算法。注意,middle变量要放在while循环内来保证在每次循环时被有效更新。

代码

时间复杂度: O(log n)

cpp 复制代码
class Solution {
public:
    int search(vector<int>& nums, int target) {
        int left = 0;
        int right = nums.size() - 1;

        while (left <= right) {
            int middle = left + (right - left) / 2;
            
            if (target < nums[middle]) {
                right = middle - 1;
            } else if (target > nums[middle]) {
                left = middle + 1;
            } else {
                return middle;
            }
        }

        return -1;
    }
};
相关推荐
技术小黑11 分钟前
CNN算法实战系列02 | ResNet50V2算法实战与解析
pytorch·深度学习·算法·cnn
多加点辣也没关系19 分钟前
数据结构与算法|第十五章:排序算法(下)— 非比较类排序
算法·排序算法
guo_xiao_xiao_24 分钟前
YOLOv11城市道路自行车目标检测数据集-552张-bicycle-1_5
算法·yolo·目标检测
君义_noip29 分钟前
CSP-J 2025 入门级 第一轮(初赛) 完善程序(1)
c++·算法·信息学奥赛·csp 第一轮
WL_Aurora37 分钟前
备战蓝桥杯国赛【Day 6】
python·算法·蓝桥杯
绛橘色的日落(。・∀・)ノ37 分钟前
机器学习 逻辑回归
算法·机器学习·逻辑回归
测绘第一深情43 分钟前
在vscode中使用codex教程(个人安装经验)
数据结构·ide·vscode·python·算法·计算机视觉·编辑器
Liangwei Lin1 小时前
LeetCode 41. 缺失的第一个正数
数据结构·算法·leetcode
海参崴-1 小时前
手写红黑树全流程学习总结
学习·算法
名字不好奇1 小时前
大模型如何“理解“人类语言:从符号到语义的飞跃
算法