leetcode 二分查找

代码:

cpp 复制代码
class Solution {
public:
    int search(vector<int>& nums, int target) {
        int n = nums.size();
        int left = 0;
        int right = n-1;
        int res = -1;
        while(left <= right){
            int mid = (left+right)/2;
            if(nums[mid] == target){
                res = mid;
                break;
            }
            else if(nums[mid] > target){
                right = mid -1;
            }
            else{
                left = mid + 1;
            }
        }
        return res;
    }
};

代码:

cpp 复制代码
class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        int n = nums.size();
        int left = 0;
        int right = n-1;
        int res = 0;
        int mid = 0;
        while(left <= right){
            mid = (left + right)/2;
            if(nums[mid] == target){
                res = mid;
                break;
            }else if(nums[mid] > target){
                right = mid -1;
            }else{
                left = mid +1;
            }
        }
        if(left >right)
            res = left;
        return res;
    }
};
相关推荐
_dindong5 小时前
动规:回文串问题
笔记·学习·算法·leetcode·动态规划·力扣
wangwangmoon_light5 小时前
0.0 编码基础模板
java·数据结构·算法
共享家95275 小时前
Leetcode刷题
算法·leetcode·职场和发展
simon_skywalker5 小时前
第7章 n步时序差分 n步时序差分预测
人工智能·算法·强化学习
山,离天三尺三5 小时前
基于LINUX平台使用C语言实现MQTT协议连接华为云平台(IOT)(网络编程)
linux·c语言·开发语言·网络·物联网·算法·华为云
flashlight_hi6 小时前
LeetCode 分类刷题:74. 搜索二维矩阵
python·算法·leetcode·矩阵
小年糕是糕手6 小时前
【数据结构】算法复杂度
c语言·开发语言·数据结构·学习·算法·leetcode·排序算法
程序员-King.7 小时前
day86——有效的字母异位词(LeetCode-242)
算法·字符串
xxxxxxllllllshi7 小时前
Java 代理模式深度解析:从静态到动态,从原理到实战
java·开发语言·笔记·算法·代理模式
Starry_hello world7 小时前
C++ 二分算法(1)
c++·算法·有问必答