当前位置: 首页 > news >正文

力扣-数组-34 在排序数组中查找元素的第一个和最后一个位置

思路和时间复杂度

  1. 思路:先找到中间数,如果没找到就返回{-1,-1},如果找到了就以当前节点为中点,向两边扩
  2. 时间复杂度:       O(logn)

代码

class Solution {
public:
    vector<int> searchRange(vector<int>& nums, int target) {
        vector<int> res;
        if(nums.size() == 0) return {-1,-1};
        // 左闭右开
        int left = 0, right = nums.size();
        int cur = -1;
        while(left < right){
            int mid = (left + right) / 2;
            if(nums[mid] < target){
                left = mid + 1;
            }else if(nums[mid] > target){
                right = mid;
            }else{
                cur = mid;
                break;
            }
        }
        if(cur == -1) return {-1,-1};
        left = cur;
        right = cur;
        for(int i = cur; i >= 0; i--){
            if(nums[i] != target){
                break;
            }else{
                left=i;
            }
        }
        for(int i = cur; i < nums.size(); i++){
            if(nums[i] != target){
                break;
            }else{
                right=i;
            }
        }
        return {left, right};
    }
};

相关文章:

  • 代码随想录|二叉树|07二叉树周末总结
  • 使用 Miniforge3 管理 Python 环境的详细指南(基于最新实践和时效性信息,截至 2025 年)
  • ArcGIS Pro 行政区划数据处理:拆分与提取方法详解
  • 修改桌面图标——操作系统程序图标(Windows 10)
  • 2024年广州市智能网联汽车创新实践年度报告
  • 583. 两个字符串的删除操作
  • 【数据库系统概论】第十一章 并发控制
  • dockor
  • 速通C语言——(分支和循环)
  • conda 安装软件报错 Found conflicts! Looking for incompatible packages.
  • 快速使用PPASR V3版不能语音识别框架
  • Docker Compose国内镜像一键部署dify
  • 【前端面试题】Vu3常见的面试题
  • 【网络】poll 与epoll(原理、工作模式LT、ET)
  • Windows 图形显示驱动开发-WDDM 3.2-可调性改进
  • [论文阅读]Trustworthiness in Retrieval-Augmented Generation Systems: A Survey
  • 【实战ES】实战 Elasticsearch:快速上手与深度实践-7.3.2使用GraphQL封装查询接口
  • 2-003:MySQL 三层 B+ 树能存多少数据?
  • torch.distributions.categorical.Categorical 介绍
  • 智慧停车小程序:实时车位查询、导航与费用结算一体化
  • 公募基金解读“一揽子金融政策”:增量财政空间或打开,有助于维持A股活力
  • 花20万骑自行车?CityRide带火“骑行经济”
  • 男子煎服15克山豆根中毒送医,医生:不能盲目相信偏方
  • 又一日军“慰安妇”制度受害者去世,大陆在世幸存者仅7人
  • 长三角多地重启游轮跨市游,“恢复苏杭夜航船”呼声又起
  • 当年的你,现在在哪里?——新民晚报杯40周年寻人启事