
#排序
偶尔写博客
偶尔记录下自己的学习情况,我很菜。
展开
-
有序矩阵中第K小的元素(通俗解法)
给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素。示例:matrix = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15]],k = 8,返回 13。提示:你可以假设 k 的值永远是有效的,1 ≤ k ≤ n2 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems...原创 2020-07-02 22:03:56 · 749 阅读 · 0 评论 -
缺失的第一个正数(桶排序)
给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 2示例 3:输入: [7,8,9,11,12]输出: 1提示:你的算法的时间复杂度应为O(n),并且只能使用常数级别的额外空间。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/first-missing-positive著作权归领扣网络所有。商业转载..原创 2020-06-27 22:08:36 · 191 阅读 · 0 评论 -
输出前k大的数(分治快排)
描述给定一个数组,统计前k大的数并且把这k个数从大到小输出。格式输入格式第一行包含一个整数n,表示数组的大小。n < 100000。 第二行包含n个整数,表示数组的元素,整数之间以一个空格分开。每个整数的绝对值不超过100000000。 第三行包含一个整数k,k < n。输出格式从大到小输出前k大的数,每个数一行。样例输入样例104 5 6 9 ...原创 2020-04-23 16:56:55 · 1286 阅读 · 0 评论 -
分数线划定(结构体的排序)
题目描述世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如果计划录取m名志愿者,则面试分数线为排名第m×150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。现在就请你编写程序划定面试分数线,并输出所有进入面试...原创 2020-04-12 00:55:30 · 358 阅读 · 0 评论 -
明明的随机数(桶排序)
描述明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。格式输入格式有2行,第1行为1个正整数,表示所生成的随机数的个数:N;...原创 2020-04-11 23:38:25 · 499 阅读 · 0 评论 -
1045 快速排序 (25分)
著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的 N 个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元?例如给定 $N = 5$, 排列是1、3、2、4、5。则:1 的左边没有元素,右边的元素都比它大,所以它可能是主元; 尽管 3 的左边元素都比它小,但其右...原创 2020-04-02 00:33:59 · 131 阅读 · 0 评论 -
1035 插入与归并 (25分)
根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成 N 个只包含 1 个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下 1 个有序的序列。现给定原始序列和由某排序算法产生的中间序列,请你判断该...原创 2020-04-02 00:04:18 · 148 阅读 · 0 评论 -
1004 成绩排名 (20分)
读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩 ... ... ...第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和学号均为不超过 10 个字符的...原创 2020-03-31 20:18:19 · 123 阅读 · 0 评论 -
合影效果 (结构体排序)
描述小云和朋友们去爬香山,为美丽的景色所陶醉,想合影留念。如果他们站成一排,男生全部在左(从拍照者的角度),并按照从矮到高的顺序从左到右排,女生全部在右,并按照从高到矮的顺序从左到右排,请问他们合影的效果是什么样的(所有人的身高都不同)?格式输入格式第一行是人数n(2 ≤ n ≤ 40,且至少有1个男生和1个女生)。后面紧跟n行,每行输入一个人的性别(男male或女female)和...原创 2020-03-22 17:47:34 · 1883 阅读 · 0 评论 -
奖学金(结构体排序)
描述某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排在前面,这样,每个学生的排序是唯一确定的。任务:先根据输入的3门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名名学生...原创 2020-03-21 14:27:24 · 678 阅读 · 0 评论 -
成绩排序(结构体排序)
描述给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。格式输入格式第一行为n (n大于0不超过20),表示班里的学生数目;接下来的n行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开。名字只包含字母且长度不超过20,成绩为一个不大于100的非负整数。输出格式把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数...原创 2020-03-20 12:43:45 · 3311 阅读 · 1 评论 -
谁考了第k名(结构体排序)AC
描述在一次考试中,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩。学生总数不超过200名。若成绩相同,按照录入顺序排名。格式输入格式其后有n行数据,每行包括一个学号(整数)和一个成绩(浮点数),中间用一个空格分隔。输出格式输出第k名学生的学号和成绩,中间用空格分隔。(注:请用%g输出成绩)样例输入样例5 390788001 67.89078800...原创 2020-03-18 23:52:02 · 3341 阅读 · 0 评论 -
奇数单增序列(排序)
描述给定一个长度为N(不大于500)的正整数序列,请将其中的所有奇数取出,并按升序输出。格式输入格式第1行为 N;第2行为 N 个正整数,其间用空格间隔。输出格式增序输出的奇数序列,数据之间以逗号间隔。数据保证至少有一个奇数。样例输入样例101 3 2 6 5 4 9 8 7 10输出样例1,3,5,7,9限制时间限制: 1000 ms...原创 2020-03-15 23:56:04 · 1380 阅读 · 1 评论 -
单词排序(字符串排序)
描述输入一行单词序列,相邻单词之间由1个或多个空格间隔,请按照字典序输出这些单词,要求重复的单词只输出一次。(区分大小写)格式输入格式一行单词序列,最少1个单词,最多100个单词,每个单词长度不超过50,单词之间用至少1个空格间隔。数据不含除字母、空格外的其他字符。输出格式按字典序输出这些单词,重复的单词只输出一次。样例输入样例She wants to g...原创 2020-03-03 01:03:13 · 6535 阅读 · 0 评论 -
统计字符数(桶排序)
描述给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。格式输入格式输入包含一行,一个字符串,长度不超过1000。输出格式输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开。如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符。样例输入样例abbccc输出样例c 3思路:桶排序注意...原创 2020-03-03 00:58:56 · 974 阅读 · 0 评论