力扣(LeetCode)436. 寻找右区间(2023.03.10)
创始人
2024-06-01 14:11:13
0

给你一个区间数组 intervals ,其中 intervals[i] = [starti, endi] ,且每个 starti 都 不同 。

区间 i 的 右侧区间 可以记作区间 j ,并满足 startj >= endi ,且 startj 最小化 。

返回一个由每个区间 i 的 右侧区间 在 intervals 中对应下标组成的数组。如果某个区间 i 不存在对应的 右侧区间 ,则下标 i 处的值设为 -1 。

示例 1:

输入:intervals = [[1,2]]
输出:[-1]
解释:集合中只有一个区间,所以输出-1。

示例 2:

输入:intervals = [[3,4],[2,3],[1,2]]
输出:[-1,0,1]
解释:对于 [3,4] ,没有满足条件的“右侧”区间。
对于 [2,3] ,区间[3,4]具有最小的“右”起点;
对于 [1,2] ,区间[2,3]具有最小的“右”起点。

示例 3:

输入:intervals = [[1,4],[2,3],[3,4]]
输出:[-1,2,-1]
解释:对于区间 [1,4] 和 [3,4] ,没有满足条件的“右侧”区间。
对于 [2,3] ,区间 [3,4] 有最小的“右”起点。

提示:

1 <= intervals.length <= 2 * 104
intervals[i].length == 2
-106 <= starti <= endi <= 106
每个间隔的起点都 不相同

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/find-right-interval

方法一:二分查找

C++提交内容:

class Solution {
public:vector findRightInterval(vector>& intervals) {unordered_map starts_map;vector starts;for (int i = 0; i < intervals.size(); ++i) {starts_map[intervals[i][0]] = i;starts.push_back(intervals[i][0]);}sort(starts.begin(), starts.end());vector res;for (auto& interval : intervals) {int idx = higher_find(starts, interval[1]);res.push_back(idx == -1 ? -1 : starts_map[starts[idx]]);}return res;}int higher_find(vector& starts, int target) {if (target > starts[starts.size() - 1])return -1;int left = 0;int right = starts.size() - 1;while (left < right) {int mid = left + (right - left) / 2;if (starts[mid] >= target) {right = mid;} else {left = mid + 1;}}return left;}
};

相关内容

热门资讯

这些日常用语竟都源自戏曲 转自:贵州日报京剧《穆桂英挂帅》剧照。 新华/传真 戏曲文化以其独特的魅力深深吸引着...
美国得州洪水死亡人数升至80人 转自:贵州日报 新华社休斯敦7月6日电 美国得克萨斯州政府和地方政府6日说,截至当天下午,得...
第三家股份行AIC来了 招银金... 每经记者 赵景致 每经编辑 陈 星  近日,招商银行发布公告称,已收到《国家金融监督管理总局关于筹建...
求男主男友力爆棚的小说,不要太... 求男主男友力爆棚的小说,不要太玛丽苏,多一点哦宦妃天下?纨绔世子妃?
求古代小说名和男女主名,女主名... 求古代小说名和男女主名,女主名字里要有个嫣字,内容是两个会武功的求古代小说名和男女主名,女主名字里要...
谁有资格被称为“进攻万花筒”呢... 谁有资格被称为“进攻万花筒”呢?安东尼,皮尔斯,杜兰特,科比,麦迪,艾弗森,乔丹,哈登。安东尼有资格...
四川国光农化股份有限公司关于使... 证券代码:002749 证券简称:国光股份 公告编号:2025-042号四川国光农化股份有限公司关...
最近什么书好看 最近什么书好看最近好像书慌啊!感觉没什么好书!大家给我推荐个!最好是年前刚写的或今年写的!要不我感觉...
莫要遇事躲着走 ●荣庐 鸵鸟一遇到危险,就会把头埋入沙中自以为安全。而在现实中,有的干部就如鸵鸟一般,见事儿就...
上海城地香江数据科技股份有限公... 证券简称:城地香江 证券代码:603887 公告编号:2025-079上海城地香江数据科技股份有限...