2418. 按身高排序

leetcode-2418. 按身高排序

这道题很简单,但是解法有趣:

  • 首先把这些内容装进一个map(底层由红黑树构成)中
  • 再按键的顺序遍历map
  • 最后翻转,得到想要的答案。
1
2
3
4
5
6
7
8
9
10
11
class Solution {
public:
vector<string> sortPeople(vector<string>& names, vector<int>& heights) {
map<int, string> hash;
vector<string> ans;
for (int i = 0; i < names.size(); ++i) hash[heights[i]] = names[i];
for (auto &i : hash) ans.push_back(i.second);
reverse(ans.begin(), ans.end());
return ans;
}
};