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;
    }
};
相关推荐
几司10 分钟前
OpenISP 模块拆解 · 第11讲:非局部均值降噪 (NLM)
人工智能·算法·均值算法·isp
MicroTech202511 分钟前
突破算力瓶颈,MLGO微算法科技筑牢量子测控与经典混合计算技术根基
科技·算法·量子计算
一只小逸白33 分钟前
LeetCode Go 常用函数速查表
linux·leetcode·golang
夏日听雨眠34 分钟前
数据结构(堆排序,基数排序)
数据结构·算法
什仙34 分钟前
Ansys Maxwell 默认求解器选择
人工智能·笔记·算法·基础·ansys·maxwell
weixin_3077791340 分钟前
基于Vosk与CTranslate2的实时语音识别翻译系统 —— 完整C++实现详解
人工智能·算法·自动化·语音识别·原型模式
akarinnnn43 分钟前
深入理解内存函数:原理、应用与优化
c语言·网络·数据结构·算法
一行代码一行诗++1 小时前
for循环中的break和continue
数据结构·算法
Tisfy1 小时前
LeetCode 3043.最长公共前缀的长度:哈希表(不转string)
算法·leetcode·散列表·题解·哈希表
代码中介商1 小时前
排序算法完全指南(三):插入排序深度详解
算法·排序算法