当前位置:网站首页>The 25th day of the special assault version of the sword offer
The 25th day of the special assault version of the sword offer
2022-08-10 03:20:00 【_hys】
排序+贪心
- Sort the interval by the left endpoint in ascending order,Then there is a property:The left endpoint of the next interval<=当前右端点<=当前左端点.
- It is easy to think that it is impossible to merge if the current right endpoint is smaller than the left endpoint of the next interval,If it is greater than or equal to, then take the maximum of the current right endpoint and the next right endpoint.
class Solution {
public:
bool cmp(vector<int> &a, vector<int> &b) {
if(a[0] != b[0]) return a[0] < b[0];
return a[1] < b[1];
}
vector<vector<int>> merge(vector<vector<int>>& intervals) {
sort(intervals.begin(), intervals.end());
int st = intervals[0][0], ed = intervals[0][1];
vector<vector<int>> res;
for(int i = 1; i < intervals.size(); i++) {
const auto seg = intervals[i];
if(ed < seg[0]) {
res.emplace_back(vector<int>{
st,ed});
st = seg[0];
ed = seg[1];
} else {
ed = max(ed,seg[1]);
}
}
if(res.empty() || ed != res.back()[1]) res.emplace_back(vector<int>{
st,ed});
return res;
}
};
计数排序
发现 a r r 1 arr1 arr1 range of data [ 0 , 1000 ] [0,1000] [0,1000] It can be directly counted and sorted, O ( N ) O(N) O(N) 的时间复杂度.
注意:After you finish inserting the front part,whileconditions will appear-1,需要加上>0条件.
class Solution {
public:
vector<int> relativeSortArray(vector<int>& arr1, vector<int>& arr2) {
int cnts[1010] = {
0};
vector<int> res;
for(auto num: arr1) cnts[num]++;
for(auto num: arr2)
while(cnts[num]--) res.emplace_back(num);
for(int i = 0; i <= 1000; i++)
while(cnts[i]-- > 0)
res.emplace_back(i);
return res;
}
};
边栏推荐
猜你喜欢
随机推荐
谷歌翻译器-谷歌翻译器软件批量自动翻译
[Swoole Series 3.5] Process Pool and Process Manager
MySQL:你做过哪些MySQL的优化?
OpenCV图像处理学习一,加载显示修改保存图像相关函数
Button countdown reminder
what is eabi
【内存管理概述 Objective-C语言】
使用IDEA的PUSH常见问题
【二叉树-中等】1104. 二叉树寻路
2022.8.8考试区域链接(district)题解
论旅行之收获
官宣出自己的博客了
【Kali安全渗透测试实践教程】第6章 密码攻击
《GB39732-2020》PDF download
781. 森林中的兔子
跨站请求伪造(CSRF)攻击是什么?如何防御?
小程序开发的报价为什么有差别?需要多少钱?
月薪35K,靠八股文就能做到的事,你居然不知道
2022.8.8考试摄像师老马(photographer)题解
2022杭电多校联赛第七场 题解