1337. 矩阵中战斗力最弱的 K 行
1337. 矩阵中战斗力最弱的 K 行 思路: 此题有两种方法:朴素和 二分+优先队列 朴素的很简单,用一个二元数组记录每一行战力和index 然后 自定义一个Arrays.sort()按照值优先其次是index来排序 由于军人在前面,所以可以用二分来查找右边的最后一个军人的下标,由于存在没有军人的情况,所以需要额外判断下下标在哪里。之后用大根堆来存储二元数组,并且更新当前的最大值。最后堆顶弹出并从右往左放入数组即可:...
Welcome to My Website
1337. 矩阵中战斗力最弱的 K 行 思路: 此题有两种方法:朴素和 二分+优先队列 朴素的很简单,用一个二元数组记录每一行战力和index 然后 自定义一个Arrays.sort()按照值优先其次是index来排序 由于军人在前面,所以可以用二分来查找右边的最后一个军人的下标,由于存在没有军人的情况,所以需要额外判断下下标在哪里。之后用大根堆来存储二元数组,并且更新当前的最大值。最后堆顶弹出并从右往左放入数组即可:...
1838. 最高频元素的频数 法一:枚举和哈希: class Solution { public int maxFrequency(int[] nums, int...
436. 寻找右区间 class Solution { public int[] findRightInterval(int[][] intervals) { int...
33. 搜索旋转排序数组 「二分」的本质是两段性,并非单调性。只要一段满足某个性质,另外一段不满足某个性质,就可以用「二分」。 class Solution { public int search(int[] nums, int...