leetcode 日经贴,Cpp code -The Skyline Problem
2015-05-26 11:42
253 查看
The Skyline Problem
class Solution { public: vector<pair<int, int>> getSkyline(vector<vector<int>>& buildings) { vector<pair<int, int> > vertical_lines; for (int i = 0; i < buildings.size(); ++i) { vector<int> &building = buildings[i]; vertical_lines.push_back(make_pair(building[0], -building[2])); vertical_lines.push_back(make_pair(building[1], building[2])); } sort(vertical_lines.begin(), vertical_lines.end()); multiset<int> mset; vector<pair<int, int> > olist; int lasty = 0; for (int i = 0; i < vertical_lines.size(); ++i) { int x = vertical_lines[i].first, y = vertical_lines[i].second; if (y < 0) { mset.insert(-y); } else { multiset<int>::iterator itr = mset.find(y); mset.erase(itr); } int currenty = 0; if (!mset.empty()) { currenty = *mset.rbegin(); } if (currenty != lasty) { olist.push_back(make_pair(x, currenty)); lasty = currenty; } } return olist; } };
相关文章推荐
- [LeetCode 218] The Skyline Problem
- [Leetcode] The Skyline Problem
- 解题报告:LeetCode The Skyline Problem(画天际线)
- LeetCode 218. The Skyline Problem(天际线)
- Leetcode 218. The Skyline Problem
- leetcode:the skyline problem
- [LeetCode][Java]The Skyline Problem
- LeetCode 218. The Skyline Problem(java)
- [leetcode] 218.The Skyline Problem
- Java for LeetCode 218 The Skyline Problem【HARD】
- [LeetCode]--218. The Skyline Problem
- leetcode 218: The Skyline Problem
- leetcode_c++:Divide and Conquer: The Skyline Problem(218)
- Leetcode 218 The Skyline Problem
- leetcode 218. The Skyline Problem java代码
- [LeetCode] The Skyline Problem
- Leetcode: The Skyline Problem
- The Skyline Problem -- leetcode
- [LeetCode] The Skyline Problem 天际线问题
- LeetCode "The Skyline Problem"