
排序
各种排序相关题目和技巧
三更鬼
这个作者很懒,什么都没留下…
展开
-
力扣 215. 数组中的第K个最大元素
使用快排分界方法快速确定第 k 大元素位置原创 2022-10-29 20:13:28 · 874 阅读 · 0 评论 -
力扣 1235. 规划兼职工作
按照结束时间将工作排序,使用动态规划 + 二分求可获得的最大薪资原创 2022-10-24 16:24:02 · 395 阅读 · 0 评论 -
力扣 148. 排序链表 自下而上解法
归并排序解法,自下而上实现 O(1) 空间复杂度原创 2022-10-04 11:04:00 · 263 阅读 · 0 评论 -
力扣 148. 排序链表
分治思想,归并排序解法原创 2022-10-03 21:20:03 · 403 阅读 · 0 评论 -
力扣 剑指 Offer 51. 数组中的逆序对
归并排序解法原创 2022-07-28 11:03:49 · 323 阅读 · 0 评论 -
力扣 969. 煎饼排序
翻转排序原创 2022-02-19 14:56:43 · 141 阅读 · 0 评论 -
力扣 1996. 游戏中弱角色的数量
排序原创 2022-01-28 13:32:53 · 1998 阅读 · 0 评论 -
力扣 502. IPO
题目来源:https://leetcode-cn.com/problems/ipo/大致题意:给定一个初始资本 w,和可以投资的项目数 k,以及项目对应的资本数组 capital 和 利润数组 profits。返回投资可以获得的最大资本。思路每次项目的利润可以直接加入资本,称为新的资本值。那么肯定是想要在可以做的项目做利润最高的项目。显然是一个贪心的过程。堆排序 + 贪心分析:可以做的项目,即为所需资本不大于当前资本的项目然后在可以做的项目选择利润最大的最大解决:使用一个二维数原创 2021-09-08 10:15:49 · 121 阅读 · 0 评论 -
力扣 581. 最短无序连续子数组
题目来源:https://leetcode-cn.com/problems/shortest-unsorted-continuous-subarray/大致题意:给出一个不完全的升序数组。找出数组的最短子序列,将其升序排序后,整个数组就会是升序序列。返回子序列长度。思路根据题意可知,该待排序子序列排序后整个数组有序。那么该子序列的左右侧子序列都有序。于是找出该左右边界即可。双扫描线在刚刚的讨论中,得出只需找到子序列的左右边界。接下来给出左右边界的判断方法:左边界:左边界左边的数应该小于原创 2021-08-03 16:00:55 · 135 阅读 · 0 评论 -
力扣 1337. 矩阵中战斗力最弱的 K 行
题目来源:https://leetcode-cn.com/problems/the-k-weakest-rows-in-a-matrix/大致题意:给出一个由0和1组成的矩阵,返回k个行内总数较小的行索引。注意,所有的1(如果有的话)都会在0之前。思路遍历矩阵所有行对于每一行,二分查找最后一个1的位置,该位置加 1 就是该行的数值和遍历时,存下索引和对应的数值和按照数值和排序,相同数值和行数大的行更大代码:public int[] kWeakestRows(int[][] mat,原创 2021-08-01 17:45:03 · 147 阅读 · 0 评论 -
力扣 面试题 10.02. 变位词组
题目来源:https://leetcode-cn.com/problems/group-anagrams-lcci/大致题意:给定一个字符串集合,将字符串中出现字母内容相同(字母种类和个数一致)的字符串放入一个新的集合,最后将所有的集合整合到一起返回。思路用哈希表存集合,键为相同的字母内容,值即为对应的字符串集合。如何获取 键 ?排序遍历所有字符串,然后对其排序。这样字母内容相同,排序后字符串也就会相同。于是将排序后字符串作为键,将当前遍历的字符串加入集合。计数字母内容相同,那么出现的原创 2021-07-18 21:23:12 · 136 阅读 · 0 评论 -
力扣 1818. 绝对差值和
题目来源:https://leetcode-cn.com/problems/minimum-absolute-sum-difference/大致题意:给定两个长度相同的数组,在最多改动(将某个位置元素用另一位置元素替代)数组一其中一个元素的情况下,求得两数组相同位置元素的所有绝对值和的最小值。思路改动前的绝对值和:| nums1[i] - nums2[i] | 的所有和改动后的绝对值和:即某个位置的元素被另一位置元素替代,改动后该位置的绝对值为| nums1[j] - nums2[i]原创 2021-07-17 10:50:58 · 202 阅读 · 0 评论 -
力扣: 274. H 指数
题目来源: https://leetcode-cn.com/problems/h-index/大致题意:给定一个数组,找出最大的h,h代表数组中有h个至少为h的元素。思路排序+遍历先对数组排序,然后从后往前遍历。对于每次遍历的元素有:求出当前元素到最大元素间共有num个元素判断当前元素值是否大于等于num若大于,则h更新为num;若小于,则不会有比当前h更大的h,退出循环这样的时间复杂度为O(nlogn),空间复杂度为O(logn),即排序所需的空间代码:public int hI原创 2021-07-11 12:43:31 · 301 阅读 · 0 评论 -
力扣 1418. 点菜展示表
题目来源:https://leetcode-cn.com/problems/display-table-of-food-orders-in-a-restaurant/大致题意:给定一个List<List<String>>类型的数据,里面是有多个字符串列表组成的点菜单列表。每个字符串列表的数据按索引顺序有三个部分:客户名称、桌号、点菜名。我们需要输出一个List<List<String>>类型的数据,数据第一个字符串列表开头是Table,之后是所有桌号点过原创 2021-07-06 21:52:55 · 113 阅读 · 0 评论