
排序+拓扑排序
文章平均质量分 57
常规排序+拓扑排序
answer_yym
且随疾风前行
展开
-
相对名次对应金牌
1、描述给你一个长度为 n 的整数数组 score ,其中 score[i] 是第 i 位运动员在比赛中的得分。所有得分都 互不相同 。运动员将根据得分 决定名次 ,其中名次第 1 的运动员得分最高,名次第 2 的运动员得分第 2 高,依此类推。运动员的名次决定了他们的获奖情况:名次第 1 的运动员获金牌 “Gold Medal” 。名次第 2 的运动员获银牌 “Silver Medal” 。名次第 3 的运动员获铜牌 “Bronze Medal” 。从名次第 4 到第 n 的运动员,只能获得他原创 2021-12-02 15:24:38 · 140 阅读 · 0 评论 -
找到K个最接近x的数
文章目录1、描述2、关键字3、思路1、描述给定一个排序好的数组 arr ,两个整数 k 和 x ,从数组中找到最靠近 x(两数之差最小)的 k 个数。返回的结果必须要是按升序排好的。整数 a 比整数 b 更接近 x 需要满足:|a - x| < |b - x| 或者|a - x| == |b - x| 且 a < b示例 1:输入:arr = [1,2,3,4,5], k = 4, x = 3输出:[1,2,3,4]示例 2:输入:arr = [1,2,3,4,5], k =原创 2021-09-15 11:16:46 · 346 阅读 · 0 评论 -
通过删除字母匹配到字典里最长单词
文章目录1、描述2、关键字3、思路4、noets5、复杂度6、code1、描述给你一个字符串 s 和一个字符串数组 dictionary 作为字典,找出并返回字典中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。如果答案不止一个,返回长度最长且字典序最小的字符串。如果答案不存在,则返回空字符串。示例 1:输入:s = “abpcplea”, dictionary = [“ale”,“apple”,“monkey”,“plea”]输出:“apple”示例 2:输入:s = “abpc原创 2021-09-14 19:23:36 · 179 阅读 · 0 评论 -
根据字符出现的频次排序
文章目录1、描述2、关键字&思路4、notes5、复杂度6、code1、描述给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:输入:“tree”输出:“eert”解释:'e’出现两次,'r’和’t’都只出现一次。因此’e’必须出现在’r’和’t’之前。此外,"eetr"也是一个有效的答案。来源:力扣(LeetCode)链接:著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2、关键字&思路字符频次,-----> hash原创 2021-09-13 13:04:25 · 877 阅读 · 0 评论 -
有序矩阵中第 K 小的元素
文章目录1、描述2、关键字3、思路4、notes5、复杂度5、code1、描述给你一个 n x n 矩阵 matrix ,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。请注意,它是 排序后 的第 k 小元素,而不是第 k 个 不同 的元素。示例 1:输入:matrix = [[1,5,9],[10,11,13],[12,13,15]], k = 8输出:13解释:矩阵中的元素为 [1,5,9,10,11,12,13,13,15],第 8 小元素是 13示例 2:输入:matr原创 2021-09-13 11:30:11 · 213 阅读 · 0 评论 -
查找和最小的K对数字
1、描述给定两个以升序排列的整数数组 nums1 和 nums2 , 以及一个整数 k 。定义一对值 (u,v),其中第一个元素来自 nums1,第二个元素来自 nums2 。请找到和最小的 k 个数对 (u1,v1), (u2,v2) … (uk,vk) 。示例 1:输入: nums1 = [1,7,11], nums2 = [2,4,6], k = 3输出: [1,2],[1,4],[1,6]解释: 返回序列中的前 3 对数:[1,2],[1,4],[1,6],[7,2],[7,4原创 2021-09-13 09:55:41 · 205 阅读 · 0 评论 -
数组中的第K个最大元素
文章目录1、描述2、关键字3、思路4、notes5、复杂度6、code1、描述给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4来源:力扣(LeetCode)链接:著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。原创 2021-09-12 17:17:45 · 185 阅读 · 0 评论 -
会议室的最小个数
1、描述3、关键字会议室,最少个数,3、思路优先队列存储会议结束时间,小顶堆,堆顶元素是结束时间最早的,先给数组排个序,然后往小根堆进堆,如果下一个会议的开始时间比堆顶元素(结束时间)更晚,则把堆顶元素出堆之后再进堆,遍历整个排序数组,返回堆的个数。就是最少的会议室个数。4、notes堆创建过程的个数就是了。另外一个问一个人能否都参加所有会议,题解在最后,5、复杂度时间:排序时间库函数O(NlogN)优先队列也是这个空间:O(N)最大的并行,都不能同时进行6、code(最少会议室原创 2021-09-12 16:30:27 · 977 阅读 · 0 评论 -
逐利的资本家
文章目录1、描述2、关键字3、思路4、notes5、复杂度6、code1、描述假设 力扣(LeetCode)即将开始 IPO 。为了以更高的价格将股票卖给风险投资公司,力扣 希望在 IPO 之前开展一些项目以增加其资本。 由于资源有限,它只能在 IPO 之前完成最多 k 个不同的项目。帮助 力扣 设计完成最多 k 个不同项目后得到最大总资本的方式。给你 n 个项目。对于每个项目 i ,它都有一个纯利润 profits[i] ,和启动该项目需要的最小资本 capital[i] 。最初,你的资本为 w原创 2021-09-08 15:23:55 · 137 阅读 · 0 评论 -
递增子序列变形2,类似俄罗斯套娃子
1、描述小强现在有个物品,每个物品有两种属性和.他想要从中挑出尽可能多的物品满足以下条件:对于任意两个物品和,满足或者.问最多能挑出多少物品.输入描述:第一行输入一个正整数.表示有组数据.对于每组数据,第一行输入一个正整数.表示物品个数.接下来两行,每行有个整数.第一行表示个节点的属性.第二行表示个节点的属性.输出描述:输出行,每一行对应每组数据的输出.链接2、关键字两个:x大,则y,大,统计最多相应大小的个数3、思路搞一个结构体,把x和y对应起来,搞一个vector,然后对这个原创 2021-08-13 17:43:06 · 625 阅读 · 0 评论 -
手写快排,堆排,归并排序
文章目录1、快排1.1、递归1、快排递归非递归,1.1、递归快排主要是两部分,哨兵划分,和递归一:确定哨兵,(默认哨兵是arr[l],一趟把比哨兵小的放左边,把比哨兵大的放右边,当i和j相遇的时候,把哨兵放到正确的位置上。二:之后进行下一轮的递归。#include<iostream>#include<algorithm>#include<vector>using namespace std;void qsort(vector<int>&原创 2021-08-12 15:24:17 · 247 阅读 · 0 评论 -
最短无序连续子数组
1、描述给你一个整数数组 nums ,你需要找出一个 连续子数组 ,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。请你找出符合题意的 最短 子数组,并输出它的长度。示例 1:输入:nums = [2,6,4,8,10,9,15]输出:5解释:你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。示例 2:输入:nums = [1,2,3,4]输出:0来源:力扣(LeetCode)链接:https://leetcode-cn.com/pro原创 2021-08-03 10:55:39 · 209 阅读 · 0 评论 -
矩阵中战斗力最弱的 K 行
文章目录1、描述2、关键字3、思路4、notes5、复杂度6、code1、描述给你一个大小为 m * n 的矩阵 mat,矩阵由若干军人和平民组成,分别用 1 和 0 表示。请你返回矩阵中战斗力最弱的 k 行的索引,按从最弱到最强排序。如果第 i 行的军人数量少于第 j 行,或者两行军人数量相同但 i 小于 j,那么我们认为第 i 行的战斗力比第 j 行弱。军人 总是 排在一行中的靠前位置,也就是说 1 总是出现在 0 之前。来源:力扣(LeetCode)链接:https://leetcode原创 2021-08-01 11:42:58 · 208 阅读 · 0 评论 -
把数组排成最小的数
文章目录1、描述2、关键字3、思路4、notes5、复杂度6、code1、描述输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。示例 1:输入: [10,2]输出: “102”示例 2:输入: [3,30,34,5,9]输出: “3033459”来源:力扣(LeetCode)链接著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2、关键字数组,最小,排序,3、思路只是移动数组中各数字的相对位置,而不是把每个数字进行拆原创 2021-07-31 16:20:31 · 118 阅读 · 0 评论 -
692. 前K个高频单词
1、描述给一非空的单词列表,返回前 k 个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。示例 1:输入: [“i”, “love”, “leetcode”, “i”, “love”, “coding”], k = 2输出: [“i”, “love”]解析: “i” 和 “love” 为出现次数最多的两个单词,均为2次。注意,按字母顺序 “i” 在 “love” 之前。来源:力扣(LeetCode)链接:https://leetc原创 2021-05-20 23:16:46 · 88 阅读 · 0 评论