※ 引述《argorok (死肥肥社管)》之銘言:
: ※ 引述《enmeitiryous (enmeitiryous)》之銘言:
: : 2418 sort the people
: : 給定兩個array:names和heights,heights[i]是names[i]的對應身高,回傳根據身高排序
: : 由高到矮的名字array
: : 思路:根據身高倒序sort回傳配對人名或是用身高當索引的map依序回傳人名再顛倒
: : vector<string> sortPeople(vector<string>& names, vector<int>& heights) {
: : int n=heights.size();
: : map<int,string> dd;
: : vector<string> ans;
: : for(int i=0;i<n;++i){
: : dd[heights[i]]=names[i];
: : }
: : for(auto j: dd){
: : ans.push_back(j.second);
: : }
: : reverse(ans.begin(),ans.end());
: : return ans;
: ez守門員來了 zip起來根據身高sort再把名字傳回去
: class Solution:
: def sortPeople(self, names: List[str], heights: List[int]) -> List[str]:
: return [name for _, name in sorted(zip(heights, names), reverse=True)]
思路:
zip包起來 sorted zip打開來 回傳
Python Code:
class Solution:
def sortPeople(self, names: List[str], heights: List[int]) -> List[str]:
sorted_pairs = sorted(zip(heights,names), reverse = True)
heights, names = zip(*sorted_pairs)
return names
我是EZ戰神 口牙