34 Search for a Range(目标数的范围Medium)
2024-08-24 01:47:13
题目意思:递增数组,找到目标数的范围,找不到则返回[-1,-1]
思路:折半查找
class Solution {
public:
vector<int> searchRange(vector<int>& nums, int target) {
int start=,end=nums.size()-;
vector<int> ans;
while(start<=end){
int temp=(start+end)/;
if(nums[temp]>target){
end=temp-;
}
else if(nums[temp]<target){
start=temp+;
}
else if(nums[temp]==target){
int flag1=temp,flag2=temp;
while(flag1>&&nums[flag1-]==target){
--flag1;
}
while(flag2<nums.size()-&&nums[flag2+]==target){
++flag2;
}
ans.push_back(flag1);
ans.push_back(flag2);
return ans;
}
}
ans.push_back(-);
ans.push_back(-);
return ans;
}
};
时间复杂度:O(logn)
运行时间:12ms
代码太冗余了,以后再精简吧
最新文章
- IEEE829-2008软件测试文档标准介绍
- PHP函数call_user_func和call_user_func_array详解
- Android Studio 自定义debug签名文件keystore
- nginx 配置优化的几个参数(转)
- sublime开发php必备工具集合(mac)
- lucene query
- python如何安装pip和easy_installer工具
- JSF 2 panelGrid example
- CLR.via.C#第三版 读书笔记
- javascript——事件处理
- Linux在山Windows共享文件夹
- ActionBar +Tab+ViewPager +Fragment 支持侧滑动完成办税工具的页面展示
- Android系统源码导入到eclipse
- 自学Zabbix3.10.1.3-事件通知Notifications upon events-媒介类型Jabber
- ArcGIS API for JavaScript 4.2学习笔记[12] View的弹窗(Popup)
- There are multiple modules with names that only differ in casing. 黄色warning
- [hgoi#2019/3/10]赛后总结
- LeetCode 566 Reshape the Matrix 解题报告
- python 安装pip
- 基于AngularJS的Onsen UI --Onsen UI学习笔记