【每日一题Day188】LC2418按身高排序 | 排序

简介: 【每日一题Day188】LC2418按身高排序 | 排序

按身高排序【LC2418】

给你一个字符串数组names ,和一个由 互不相同 的正整数组成的数组 heights 。两个数组的长度均为 n

对于每个下标 inames[i]heights[i] 表示第 i 个人的名字和身高。

请按身高 降序 顺序返回对应的名字数组 names

在外面有事 希望一切顺利~

  • 思路
    先使用二维数组记录每个height的下标和值,然后对值进行降序排序,然后根据下标依次取出name,返回即可
  • 实现
class Solution {
    public String[] sortPeople(String[] names, int[] heights) {
        int n = heights.length;
        int[][] index = new int[n][2];
        for (int i = 0; i < n; i++){
            index[i][0] = i;
            index[i][1] = heights[i];
        }
        Arrays.sort(index, (o1, o2) -> o2[1] - o1[1]);
        String[] res = new String[n];
        for (int i = 0; i < n; i++){
            res[i] = names[index[i][0]];
        }
        return res;
    }
}

image.png

目录
相关文章
|
9月前
【每日一题Day266】LC18四数之和 | 排序+双指针
【每日一题Day266】LC18四数之和 | 排序+双指针
51 1
|
9月前
【每日一题Day155】LC1630等差子数组 | 枚举+排序
【每日一题Day155】LC1630等差子数组 | 枚举+排序
56 0
|
9月前
【每日一题Day161】LC1641统计字典序元音字符串的数目 | 数位dp
【每日一题Day161】LC1641统计字典序元音字符串的数目 | 数位dp
61 0
|
9月前
|
存储
【每日一题Day132】LC23633合并相似的物品 | 哈希表 排序+双指针
【每日一题Day132】LC23633合并相似的物品 | 哈希表 排序+双指针
64 0
|
9月前
【每日一题Day340】LC2251花期内花的数目 | 差分+哈希表+排序 排序+二分查找
【每日一题Day340】LC2251花期内花的数目 | 差分+哈希表+排序 排序+二分查找
42 0
|
9月前
【每日一题Day148】LC2488统计中位数为 K 的子数组 | 子数组统计 等价转换
【每日一题Day148】LC2488统计中位数为 K 的子数组 | 子数组统计 等价转换
54 0
|
9月前
|
存储
【每日一题Day158】LC2395和相等的子数组 | 哈希表
【每日一题Day158】LC2395和相等的子数组 | 哈希表
44 0
|
9月前
【每日一题Day301】LC2337移动片段得到字符串 | 双指针 计分
【每日一题Day301】LC2337移动片段得到字符串 | 双指针 计分
68 0
|
9月前
【每日一题Day255】LC2679矩阵中的和 | 排序
【每日一题Day255】LC2679矩阵中的和 | 排序
38 0
|
9月前
|
存储
【每日一题Day307】LC56合并区间 | 排序
【每日一题Day307】LC56合并区间 | 排序
50 0