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

对于每个下标 i,names[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 。

解题代码如下:

/*** Note: The returned array must be malloced, assume caller calls free().*/void swap(char **s1,char **s2){char *t=*s1;*s1=*s2;*s2=t;}void quick(int *a,char **names,int low,int high){if(low<high){int l=low,h=high,p=a[low];char  t[21];strcpy(t,names[low]);while(low<high){while(low<high&&a[high]<=p){high--;}a[low]=a[high];if(low!=high)swap(&(names[low]),&(names[high]));while(low<high&&a[low]>=p){low++;}a[high]=a[low];if(low!=high)swap(&(names[high]),&(names[low]));}a[low]=p;strcpy(names[low],t);quick(a,names,l,low-1);quick(a,names,low+1,h);}}
char ** sortPeople(char ** names, int namesSize, int* heights, int heightsSize, int* returnSize){quick(heights,names,0,heightsSize-1);*returnSize=heightsSize;return names;}

2418. 按身高排序-快速排序力扣双百代码相关推荐

  1. 1609. 奇偶树-层次遍历-力扣双百代码

    1609. 奇偶树-层次遍历-力扣双百代码 如果一棵二叉树满足下述几个条件,则可以称为 奇偶树 : 二叉树根节点所在层下标为 0 ,根的子节点所在层下标为 1 ,根的孙节点所在层下标为 2 ,依此类推 ...

  2. 20200805:Java拓扑排序实现力扣207课程表

    力扣207:课程表 题目 思路与算法 代码实现 题目 题目链接:课程表 你这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1 . 在选修某些课程之前需要一些先修课程. ...

  3. 20200806:Java拓扑排序实现力扣210课程表Ⅱ

    力扣210:课程表Ⅱ 题目 思路与算法 代码实现 题目 题目链接:课程表Ⅱ 现在你总共有 n 门课需要选,记为 0 到 n-1. 在选修某些课程之前需要一些先修课程. 例如,想要学习课程 0 ,你需要 ...

  4. ❤️739❤️带新手一起刷力扣 (LeetCode)❤️代码有详细的注释❤️反思总结❤️739. 每日温度

    本文章是❤️力扣 (LeetCode)❤️的内容,该专栏还有多篇优质内容在等待你观看,现在点击右上角点击这个----

  5. [力扣刷题总结](双指针篇)

    文章目录 |||||||||||||||||||| 双指针 |||||||||||||||||| 905. 按奇偶排序数组 解法1:双指针+原地交换 解法2:两次遍历+保持相对位置 475. 供暖器 ...

  6. 力扣学习记录(每日更新)

    文章目录 引言 简单 力扣:1 两数之和 力扣:20 有效的括号 力扣:21 合并两个有序链表 力扣:22 括号生成 力扣:27 移除元素 力扣: 35 搜索插入位置 力扣:70 [爬楼梯](http ...

  7. 365天挑战LeetCode1000题——Day 097 神策专场: 判定是否互为字符重排 按身高排序 按位与最大的最长子数组 找到所有好下标 好路径的数目

    面试题 01.02. 判定是否互为字符重排 代码实现(排序) class Solution {public:bool CheckPermutation(string s1, string s2) {s ...

  8. 剑指 Offer 06. 从尾到头打印链表-力扣

    题目要求 力扣题解 代码 #include <vector> #include <iostream> using namespace std; struct ListNode ...

  9. 力扣-图解算法数据结构-剑指 Offer 05. 替换空格

    题目要求 力扣题解 代码 /*** @program: mydemo* @description: 剑指 Offer 05. 替换空格* @author: Mr.zeng* @create: 2021 ...

最新文章

  1. Android onTouchEvent, onClick及onLongClick的调用机制
  2. 网络编程 - 异步调用
  3. Ubuntu Server 之Apache2 虚拟主机配置指南(个人实践解读)
  4. AngularJS学习笔记(1)——MVC模式的清单列表效果
  5. 【Java学习笔记九】多线程
  6. bigdecimal 保留两位小数_一律使用 BigDecimal,避免后患?
  7. book1复习 使用java理解程序逻辑
  8. Everything is Serverless,从开源框架对比说起
  9. 安卓逆向系列教程(二)APK 和 DEX
  10. 老蒋征婚启示啊啊啊啊啊啊
  11. SQL Server 2016 SP1 标准版等同企业版?!
  12. 一个很好的makefile例子(经典)
  13. linux设备驱动的实现与理解
  14. mac切换网卡|IP
  15. 给初学者:用VB写外挂 ———— 实战一:动手写一个红色警戒金钱锁定工具
  16. 企业选人的三个阶段和几个标准
  17. 麦克劳林公式求sin
  18. java模拟京东登陆_requests+beautifulsoup模拟登陆京东
  19. android 修改wifi设备名
  20. 每学期都以NB的姿态出场

热门文章

  1. 树------最优二叉树
  2. 基于R语言极值统计学及其在相关领域中的应用
  3. ckplayer循环播放不能设置的问题
  4. edis面试刁难大全
  5. 2022天梯赛正式赛(附天梯赛题目链接)
  6. 鼓励软件产业和集成电路产业发展的若干政策(2000)
  7. 人工智能“大杀器”GPT-3遭严重质疑:它其实是在“胡言乱语”,OpenAI违背科学伦理
  8. python的含义和用法_python中列表的含义及用法
  9. azure支持哪些服务器,什么是 Azure 路由服务器(预览版)?
  10. Opencv学习笔记 图像特效 简单铅笔/卡通/马赛克/毛玻璃/Lomography/简单磨皮等效果