【每日一题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

目录
相关文章
|
8月前
【每日一题Day155】LC1630等差子数组 | 枚举+排序
【每日一题Day155】LC1630等差子数组 | 枚举+排序
50 0
|
8月前
【每日一题Day161】LC1641统计字典序元音字符串的数目 | 数位dp
【每日一题Day161】LC1641统计字典序元音字符串的数目 | 数位dp
56 0
|
8月前
【每日一题Day148】LC2488统计中位数为 K 的子数组 | 子数组统计 等价转换
【每日一题Day148】LC2488统计中位数为 K 的子数组 | 子数组统计 等价转换
51 0
|
8月前
【每日一题Day225】LC2559统计范围内的元音字符串数 | 前缀和 二分查找
【每日一题Day225】LC2559统计范围内的元音字符串数 | 前缀和 二分查找
55 0
|
8月前
【每日一题Day340】LC2251花期内花的数目 | 差分+哈希表+排序 排序+二分查找
【每日一题Day340】LC2251花期内花的数目 | 差分+哈希表+排序 排序+二分查找
41 0
|
8月前
【每日一题Day301】LC2337移动片段得到字符串 | 双指针 计分
【每日一题Day301】LC2337移动片段得到字符串 | 双指针 计分
63 0
|
8月前
|
存储
【每日一题Day132】LC23633合并相似的物品 | 哈希表 排序+双指针
【每日一题Day132】LC23633合并相似的物品 | 哈希表 排序+双指针
58 0
|
7月前
|
C语言
C语言---输入n科成绩(浮点数表示),统计其中的最高分,最低分以及平均分。
C语言---输入n科成绩(浮点数表示),统计其中的最高分,最低分以及平均分。
|
8月前
|
存储
【每日一题Day307】LC56合并区间 | 排序
【每日一题Day307】LC56合并区间 | 排序
48 0
|
8月前
【每日一题Day255】LC2679矩阵中的和 | 排序
【每日一题Day255】LC2679矩阵中的和 | 排序
34 0