LeetCode刷题_56_合并区间
思路:也没啥好说的了,就是模拟然后注意输入可能为空的判断。运用运算符重载先sort一波。应该有更简单的解法,待我研究出来再更新。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | class Solution { public : static bool cmp(pair< int , int > P1, pair< int , int > P2) { if (P1.first != P2.first) { return P1.first < P2.first; } return P1.second < P2.second; } vector<vector< int >> merge(vector<vector< int >>& intervals) { if (intervals.size() == 0) { return intervals; } vector<pair< int , int >> v; for ( int i = 0; i < intervals.size(); ++i) { v.push_back(pair< int , int >(intervals[i][0], intervals[i][1])); } sort(v.begin(), v.end(), cmp); pair< int , int > temp = v[0]; vector<pair< int , int >> ans; for ( int i = 1; i < v.size(); ++i) { if (temp.second >= v[i].first) { if (temp.second <= v[i].second) temp = pair< int , int >(temp.first, v[i].second); } else { ans.push_back(temp); temp = v[i]; } } ans.push_back(temp); vector<vector< int >> f; for ( int i = 0; i < ans.size(); ++i) { vector< int >sb; sb.push_back(ans[i].first); sb.push_back(ans[i].second); f.push_back(sb); } return f; } private : }; |
作者:LightAc
出处:https://www.cnblogs.com/lightac/
联系:
Email: dzz@stu.ouc.edu.cn
QQ: 1171613053
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
出处:https://www.cnblogs.com/lightac/
联系:
Email: dzz@stu.ouc.edu.cn
QQ: 1171613053
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步