当前位置:网站首页>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;
}
};
边栏推荐
猜你喜欢
随机推荐
storage of data in memory
[语法糖] 关于类别字符串到类别数字id的映射
2022.8.8考试游记总结
flask增删改查
宝塔服务器PHP+mysql网页URL跳转问题
gbase 8a数据库如何查看数据或数据文件是否正常?
华为HCIE云计算之FC添加ipsan数据存储
数据在内存中的存储
UXDB现在支持函数索引吗?
Algorithm and voice dialogue direction interview question bank
如何让数据库中的数据同步
SQLserver adds a judgment
【二叉树-困难】124. 二叉树中的最大路径和
Redis - String|Hash|List|Set|Zset数据类型的基本操作和使用场景
Open3D 网格均匀采样
Janus实际生产案例
跨站请求伪造(CSRF)攻击是什么?如何防御?
Under pressure, there must be cowards
【web渗透】SSRF漏洞超详细讲解
Janus actual production case









