当前位置: 首页 > article >正文

​力扣解法汇总2418. 按身高排序

目录链接:

力扣编程题-解法汇总_分享+记录-CSDN博客

GitHub同步刷题项目:

https://github.com/September26/java-algorithms

原题链接:力扣


描述:

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

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

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

示例 1:

输入:names = ["Mary","John","Emma"], heights = [180,165,170]
输出:["Mary","Emma","John"]
解释:Mary 最高,接着是 Emma 和 John 。

示例 2:

输入:names = ["Alice","Bob","Bob"], heights = [155,185,150]
输出:["Bob","Alice","Bob"]
解释:第一个 Bob 最高,然后是 Alice 和第二个 Bob 。

提示:

  • n == names.length == heights.length
  • 1 <= n <= 103
  • 1 <= names[i].length <= 20
  • 1 <= heights[i] <= 105
  • names[i] 由大小写英文字母组成
  • heights 中的所有值互不相同

解题思路:

* 解题思路:
* 生成一个map,映射names和heights的关系。
* 然后对heights排序,然后按照排序后的结果,从map中找对应,生成新的字符串数组result

代码:

public class Solution2418 {

    public String[] sortPeople(String[] names, int[] heights) {
        Map<Integer, String> map = new HashMap<>();
        for (int i = 0; i < names.length; i++) {
            map.put(heights[i], names[i]);
        }
        String[] result = new String[names.length];
        List<Integer> collect = Arrays.stream(heights).boxed().collect(Collectors.toList());
        collect.sort(new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o1 - o2;
            }
        });
        for (int i = 0; i < collect.size(); i++) {
            result[i] = map.get(collect.get(i));
        }
        return result;
    }
}


http://www.kler.cn/a/14886.html

相关文章:

  • 总结831
  • 软件测试必备的Linux知识(一)
  • 本地缓存解决方案Caffeine | Spring Cloud 38
  • 从0搭建Vue3组件库(六):前端流程化控制工具gulp的使用
  • 超级国际象棋:第二个里程碑已完成
  • 02.基本函数
  • 设计模式类型及原则
  • spring、springMvc、springBoot和springCloud的联系与区别
  • 波形生成:均匀和非均匀时间向量
  • 【华为OD机试真题】字母组合(javapython)100%通过率 详细代码注释
  • IC 术语
  • Latex常用符号和功能记录
  • LinkedList底层结构
  • Windows环境下的静态库和动态库的使用详解
  • Mysql 查询同类数据中某一数字最大的所有数据
  • JVM系列(十) 垃圾收集器之 Parallel Scavenge/Old
  • 关于PostgreSql数据库和mysql的不同点及注意事项
  • [渗透教程]-011-网络安全基本概念
  • 【linux网络】PXE高效批量网络装机
  • redis从头开始【一】--面试的小伙伴必看