当前位置:网站首页>2022-7-7 Leetcode 34.在排序数组中查找元素的第一个和最后一个位置
2022-7-7 Leetcode 34.在排序数组中查找元素的第一个和最后一个位置
2022-07-07 11:36:00 【weixin_51187533】
1、左右区间要单独查找,时间复杂度为 O ( l o g N ) O(logN) O(logN)
2、查找右边界的时候,左边向右收缩;查找左边界的时候,右边向左收缩。
class Solution {
public:
int getR(vector<int>& nums, int target){
int l = 0, r = nums.size()-1;
int rightborder = -1;
while (l <= r){
int mid = l + (r - l)/2;
if (nums[mid] == target){
l = mid + 1;
rightborder = mid;
}else if (nums[mid] > target){
r = mid - 1;
}else {
l = mid + 1;
}
}
return rightborder;
}
int getL(vector<int>& nums, int target){
int l = 0, r = nums.size()-1;
int leftborder = -1;
while (l <= r){
int mid = l + (r - l)/2;
if (nums[mid] == target){
r = mid - 1;
leftborder = mid;
}else if (nums[mid] > target){
r = mid - 1;
}else {
l = mid + 1;
}
}
return leftborder;
}
vector<int> searchRange(vector<int>& nums, int target) {
int leftborder = getL(nums, target);
int rightborder = getR(nums, target);
return {
leftborder, rightborder};
}
};
边栏推荐
- Thread pool reject policy best practices
- Use of polarscatter function in MATLAB
- 学习突围2 - 关于高效学习的方法
- MySQL入门尝鲜
- QQ medicine, Tencent ticket
- Centso7 OpenSSL error Verify return code: 20 (unable to get local issuer certificate)
- [learning notes] agc010
- shell 批量文件名(不含扩展名)小写改大写
- Fast development board pinctrl and GPIO subsystem experiment for itop-imx6ull - modify the device tree file
- 【堡垒机】云堡垒机和普通堡垒机的区别是什么?
猜你喜欢
随机推荐
Thread pool reject policy best practices
Read PG in data warehouse in one article_ stat
Mongodb meets spark (for integration)
JS function 返回多个值
DETR介绍
作战图鉴:12大场景详述容器安全建设要求
信号强度(RSSI)知识整理
最佳实践 | 用腾讯云AI意愿核身为电话合规保驾护航
【等保】云计算安全扩展要求关注的安全目标和实现方式区分原则有哪些?
How far can it go to adopt a cow by selling the concept to the market?
数字ic设计——SPI
Write it down once Net a new energy system thread surge analysis
Enregistrement de la navigation et de la mise en service du robot ROS intérieur (expérience de sélection du rayon de dilatation)
Split screen bug notes
LeetCode_二分搜索_中等_153.寻找旋转排序数组中的最小值
PAcP learning note 1: programming with pcap
Cmake learning and use notes (1)
[QNX hypervisor 2.2 user manual]6.3.4 virtual register (guest_shm.h)
ROS机器人更换新雷达需要重新配置哪些参数
一文读懂数仓中的pg_stat