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

news/2024/7/5 7:21:38

目录链接:

力扣编程题-解法汇总_分享+记录-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://lihuaxi.xjx100.cn/news/1066632.html

相关文章

flex布局属性详解

Flex布局 flex-directionflex-wrapflex-flowjustify-contentalign-itemsalign-content其他orderflexalign-self 含义:Flex是Flexible Box的缩写&#xff0c;意为”弹性布局”&#xff0c;用来为盒状模型提供最大的灵活性。 flex-direction flex-direction属性决定主轴的方向&…

wordpress 多站点文章同步发布多技术探讨

目标&#xff1a;单独同后台、同步发布到各个站点、包括自动上传图片、最好能兼容最新的区块模板&#xff08;难度高&#xff09; 方案一&#xff1a;使用wordpress插件 比较流行的有&#xff1a;Multisite Post Duplicator 、WP Multisite Content Copier、MultiSite Clone D…

#学习总结 C语言编程规范

养成一套正确的编程习惯&#xff0c;对职业发展尤为重要。出来参加工作之后&#xff0c;发现公司都有一套程序模板和各种命名规范&#xff0c;在此总结一下个人日常的C语言编程规范。每个人的要求和编程习惯可能都有所不同&#xff0c;仅供学习参考。 文章目录 前言一、头文件1…

cgroup配合tc工具对进程的上下行(出口入口)速度进行限制,附测试脚本

在开始之前&#xff0c;如果不熟悉cgroup、tc、以及ifb虚拟网卡&#xff0c;建议先了解一下再进行试验 注&#xff1a;为什么会用到ifb虚拟网卡呢&#xff0c;因为Linux自带的tc是一套控发不控收的框架。具体ifb详细原理&#xff0c;自行研究&#xff0c;网上资料多的很。 对出…

【Python | 基础语法篇】01、字面量、注释、变量、数据类型及转换

目录 一、字面量 1.1 什么是字面量 1.2 常用的值类型 1.3 字符串 1.4 如何在代码中写它们 1.5 总结 二、注释 2.1 注释的作用 2.2 注释的分类 2.3 注释实战 2.4 总结 2.5 思考 三、变量 3.1 什么是变量 3.2 案例——模拟钱包 3.3 变量的特征 3.4 思考 3.5 …

欧几里得算法、扩展欧几里得算法(特解、应用、通解)

文章目录 1. 欧几里得算法&#xff08;也叫辗转相除法&#xff09;1.1 直接上模拟1.2 几何理解1.3 用代数方法证明 g c d ( a , b ) g c d ( b , a % b ) gcd(a, b) gcd(b, a \% b) gcd(a,b)gcd(b,a%b)1.3.1 左推右&#xff1a; g c d ( a , b ) g c d ( b , a % b ) gcd(a…

2023年制造业产品经理NPDP认证报名找弘博创新

产品经理国际资格认证NPDP是新产品开发方面的认证&#xff0c;集理论、方法与实践为一体的全方位的知识体系&#xff0c;为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 【认证机构】 产品开发与管理协会&#xff08;PDMA&#xff09;成立于1979年&#xff0c;是…

IDEA执行main方法的时候,会编译整个项目的问题

​ 今天遇到一个奇怪的问题&#xff0c;执行main方法会构建整个项目&#xff0c;速度奇慢无比。我就执行个main方法&#xff0c;搞这么复杂干嘛&#xff1f;经过查阅网上的攻略&#xff0c;最终找到解决方法。 以下方法适用于idea版本 问题解决方法&#xff1a; 参考 https://…