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

力扣题解(按身高排序)

2418. 按身高排序

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

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

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

思路:

方法一是利用优先级队列,自己规定排序策略,然后以此将每个人的名字和身高插入,最后遍历队列就是结果。

方法二是利用map直接排序,map默认是会按照pair的第一个数从小到大排序,而题目要求从大到小排序,因此对于map遍历的结果要倒转。

class Solution {
public:struct cmp{bool operator()(pair<int,string>&p1,pair<int,string>&p2){return p1.first<p2.first;}};vector<string> sortPeople(vector<string>& names, vector<int>& heights) {//    map<int,string>hash;//    for(int i=0;i<names.size();i++)//    {//     hash[heights[i]]=names[i];//    }//    vector<string>ret;//    for(auto e:hash)//    {//       ret.push_back(e.second);//    }  //    reverse(ret.begin(),ret.end());priority_queue<pair<int,string>,vector<pair<int,string>>,cmp>dp;for(int i=0;i<names.size();i++){dp.push({heights[i],names[i]});}vector<string>ret;for(int i=0;i<names.size();i++){auto k=dp.top();dp.pop();ret.push_back(k.second);}return ret;}
};

http://www.lryc.cn/news/421537.html

相关文章:

  • Redis的六种淘汰策略详解
  • vue3中 ref 和 reactive 的区别
  • 《单例模式的深度解读:实现方式、破坏情况与利弊权衡》
  • 010607电压源和电流源受控源
  • 快乐数求解
  • 运维高级内容--为端口做标记、制定调度规则
  • 后端Web之HTTP协议基础介绍
  • 深入解析Nginx限流策略:如何高效控制访问频率
  • 锂电池剩余寿命预测 | Matlab基于Transformer-GRU的锂电池剩余寿命预测
  • 深入理解Spring的IOC容器与依赖注入
  • Qt读写sysfs
  • 实景三维:解锁地理信息新维度,引领未来城市智慧之钥
  • 汽车免拆诊断案例 | 2010款劳斯莱斯古斯特车中央信息显示屏提示传动系统故障
  • 监督学习和无监督学习是什么?
  • YII2的errorHandler.errorAction失效原因
  • 已知p指向双向循环链表中的一个结点,其结点结构为data、prior、next三个域,写出算法change(p),交换p所指向的结点和它的前缀结点的顺序。
  • 什么是Tensor???为什么人工智能领域论文中经常出现这个名词
  • 爬虫练习_01
  • Datawhale X 魔搭 AI夏令营第四期 魔搭-AIGC方向 task02笔记
  • 多模态大语言模型的免训练视觉提示学习 ControlMLLM
  • Oracle|DM 常用|不常用 SQL大口袋
  • 嵌入式软件--模电基础 DAY 1
  • 【Nacos无压力源码领读】(二) 集成 LoadBalancer 与 OpenFeign
  • 《投资的原理》阅读笔记二——价值投资真是王者吗?
  • SSH、FTP、SFTP相关协议详解
  • C语言进阶——一文带你深度了解“C语言关键字”(中篇6)
  • 自建极简Ethercat主站-第8章 FOE基础功能实现
  • SQL Zoo 8.Using Null
  • LeetCode274. H 指数
  • 概述:Dubbo、Nacos、 Zookeeper 等分布式服务协调与治理等技术