leetcode 二分查找应用

34. Find First and Last Position of Element in Sorted Array

代码:

cpp 复制代码
class Solution {
public:
    vector<int> searchRange(vector<int>& nums, int target) {
        int low = lowwer_bound(nums,target);
        int high = upper_bound(nums,target);

        if(low == high)
            return {-1,-1};

        return {low,high-1};
    }
    int lowwer_bound(vector<int>& nums,int target)
    {
        int left = 0;
        int right = nums.size();
        int mid = 0;
        while(left < right){
            mid = left + ((right-left)>>1);
            if(nums[mid]>=target){
                right = mid;
            }else{
                left = mid + 1;
            }
        }
        return left;
    }
    int upper_bound(vector<int>& nums,int target){
        int left = 0;
        int right = nums.size();
        int mid = 0;
        while(left < right){
            mid = left + ((right - left)>>1);
            if(nums[mid]>target){
                right = mid;
            }else{
                left = mid +1;
            }
        }
        return left;
    }
};
相关推荐
曹自标6 分钟前
workflow 拓扑排序算法
windows·算法·排序算法
wen__xvn8 分钟前
代码随想录算法训练营DAY8第四章 字符串part01
算法
mario_z10 分钟前
基于kmines类聚线段算法
前端·javascript·算法
额呃呃11 分钟前
construct对象构造接口
数据库·算法
你怎么知道我是队长15 分钟前
C语言---共用体
c语言·开发语言·算法
cicada1519 分钟前
什么是线程安全?
开发语言·c++·算法
邴越19 分钟前
深度解析TikTok运营的流量池推荐算法
算法·机器学习·推荐算法
Allen_LVyingbo35 分钟前
医疗AI多智能体资源调度:用Python构建高性能MCU资源池
开发语言·人工智能·python·算法·知识图谱·健康医疗
叁散37 分钟前
实验项目3 温度传感器
人工智能·算法·机器学习
settingsun122538 分钟前
【AI-算法-02】卷积 Convolution
人工智能·算法