Editorial for the Problem: Sort the People
The problem is to sort a list of people by their heights in descending order. Given two lists, nam (names) and h (heights), we aim to produce a sorted list of names based on their corresponding heights.
To solve this problem efficiently, we can use the following approach:
- 
Pairing Names with Heights: - Create a vector of pairs where each pair consists of a height and the corresponding name.
 
- 
Sorting the Pairs: - Sort the vector of pairs in descending order based on heights.
 
- 
Extracting the Sorted Names: - Extract the names from the sorted pairs into the result vector.
 
- 
Create Pairs: - Pair each name with its corresponding height.
 
- 
Sort the Pairs: - Sort the pairs in descending order by height using the built-in sort function.
 
- 
Construct the Result: - Construct the final sorted list of names from the sorted pairs.
 
class Solution {
public:
    vector<string> sortPeople(vector<string>& nam, vector<int>& h) {
        int n = h.size();
        vector<string> ans;
        vector<pair<int, string>> res;
        for (int i = 0; i < n; i++) {
            res.push_back({h[i], nam[i]});
        }
        sort(res.rbegin(), res.rend());
        for (auto i : res) {
            ans.push_back(i.second);
        }
        return ans;
    }
};Pairing Names with Heights:
- A vector of pairs resis created, where each pair contains a height and the corresponding name.
- We iterate over the indices of the input lists and push the pairs into res.
Sorting the Pairs:
- The vector resis sorted in descending order by height usingsort(res.rbegin(), res.rend());. This sorts the pairs based on the first element of each pair, which is the height.
Constructing the Result:
- After sorting, we iterate through the sorted pairs and extract the names, pushing them into the result vector ans.
The time complexity is dominated by the sorting operation, which is ( O(n log n) ), where ( n ) is the number of people. The space complexity is ( O(n) ) due to the storage of pairs and the result vector.
If you found this solution helpful, please consider liking 👍 and upvoting ⬆️. Your support helps in continuing to provide high-quality solutions.
