2418. 按身高排序-快速排序力扣双百代码
给你一个字符串数组 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. 按身高排序-快速排序力扣双百代码相关推荐
- 1609. 奇偶树-层次遍历-力扣双百代码
1609. 奇偶树-层次遍历-力扣双百代码 如果一棵二叉树满足下述几个条件,则可以称为 奇偶树 : 二叉树根节点所在层下标为 0 ,根的子节点所在层下标为 1 ,根的孙节点所在层下标为 2 ,依此类推 ...
- 20200805:Java拓扑排序实现力扣207课程表
力扣207:课程表 题目 思路与算法 代码实现 题目 题目链接:课程表 你这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1 . 在选修某些课程之前需要一些先修课程. ...
- 20200806:Java拓扑排序实现力扣210课程表Ⅱ
力扣210:课程表Ⅱ 题目 思路与算法 代码实现 题目 题目链接:课程表Ⅱ 现在你总共有 n 门课需要选,记为 0 到 n-1. 在选修某些课程之前需要一些先修课程. 例如,想要学习课程 0 ,你需要 ...
- ❤️739❤️带新手一起刷力扣 (LeetCode)❤️代码有详细的注释❤️反思总结❤️739. 每日温度
本文章是❤️力扣 (LeetCode)❤️的内容,该专栏还有多篇优质内容在等待你观看,现在点击右上角点击这个----
- [力扣刷题总结](双指针篇)
文章目录 |||||||||||||||||||| 双指针 |||||||||||||||||| 905. 按奇偶排序数组 解法1:双指针+原地交换 解法2:两次遍历+保持相对位置 475. 供暖器 ...
- 力扣学习记录(每日更新)
文章目录 引言 简单 力扣:1 两数之和 力扣:20 有效的括号 力扣:21 合并两个有序链表 力扣:22 括号生成 力扣:27 移除元素 力扣: 35 搜索插入位置 力扣:70 [爬楼梯](http ...
- 365天挑战LeetCode1000题——Day 097 神策专场: 判定是否互为字符重排 按身高排序 按位与最大的最长子数组 找到所有好下标 好路径的数目
面试题 01.02. 判定是否互为字符重排 代码实现(排序) class Solution {public:bool CheckPermutation(string s1, string s2) {s ...
- 剑指 Offer 06. 从尾到头打印链表-力扣
题目要求 力扣题解 代码 #include <vector> #include <iostream> using namespace std; struct ListNode ...
- 力扣-图解算法数据结构-剑指 Offer 05. 替换空格
题目要求 力扣题解 代码 /*** @program: mydemo* @description: 剑指 Offer 05. 替换空格* @author: Mr.zeng* @create: 2021 ...
最新文章
- Android onTouchEvent, onClick及onLongClick的调用机制
- 网络编程 - 异步调用
- Ubuntu Server 之Apache2 虚拟主机配置指南(个人实践解读)
- AngularJS学习笔记(1)——MVC模式的清单列表效果
- 【Java学习笔记九】多线程
- bigdecimal 保留两位小数_一律使用 BigDecimal,避免后患?
- book1复习 使用java理解程序逻辑
- Everything is Serverless,从开源框架对比说起
- 安卓逆向系列教程(二)APK 和 DEX
- 老蒋征婚启示啊啊啊啊啊啊
- SQL Server 2016 SP1 标准版等同企业版?!
- 一个很好的makefile例子(经典)
- linux设备驱动的实现与理解
- mac切换网卡|IP
- 给初学者:用VB写外挂 ———— 实战一:动手写一个红色警戒金钱锁定工具
- 企业选人的三个阶段和几个标准
- 麦克劳林公式求sin
- java模拟京东登陆_requests+beautifulsoup模拟登陆京东
- android 修改wifi设备名
- 每学期都以NB的姿态出场
热门文章
- 树------最优二叉树
- 基于R语言极值统计学及其在相关领域中的应用
- ckplayer循环播放不能设置的问题
- edis面试刁难大全
- 2022天梯赛正式赛(附天梯赛题目链接)
- 鼓励软件产业和集成电路产业发展的若干政策(2000)
- 人工智能“大杀器”GPT-3遭严重质疑:它其实是在“胡言乱语”,OpenAI违背科学伦理
- python的含义和用法_python中列表的含义及用法
- azure支持哪些服务器,什么是 Azure 路由服务器(预览版)?
- Opencv学习笔记 图像特效 简单铅笔/卡通/马赛克/毛玻璃/Lomography/简单磨皮等效果