Re: [閒聊] 每日leetcode

作者: argorok (s.green)   2024-07-22 09:18:26
※ 引述《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)]

Links booklink

Contact Us: admin [ a t ] ucptt.com