![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
排序相关
zjc4j
驼厂打工人。
展开
-
颜色分类(荷兰国旗问题),NB啊
题目题源代码码源class Solution { public void sortColors(int[] nums) { int zero = -1, one = 0, two = nums.length; while(one < two) { if (nums[one] == 0) { swap(nums, ++zero, one++); } else if (nums原创 2021-08-08 00:18:58 · 83 阅读 · 0 评论 -
根据字符出现频率排序
题目题源代码class Solution { /** 首先,将数据放入hashMap中,key为char,value为次数; 接着,创建桶ArrayList[],将hashMap的value作为下标,key作为桶中的数据; 然后,从后往前遍历桶的下标,如果桶不是null,则将桶中的数据放在sb中,循环的次数就是下标值; 最后将sb转为String。 */ public String frequencySort(String s) {原创 2021-08-07 23:52:40 · 64 阅读 · 0 评论 -
出现频率最多的 k 个元素
题目题源代码class Solution { /** 先通过hashMap存储,键是num,值是频次; 接下来,存储到桶中,桶的下标是频次,桶中存入多个频次相同的num; 再次,遍历桶,从后往前遍历,如果该桶有数则加入ArrayList中; 最后,将arrayList中的num转为int数组。 */ public int[] topKFrequent(int[] nums, int k) { Map<Integer, I原创 2021-08-07 23:05:02 · 247 阅读 · 0 评论 -
数组中的第K个最大元素
题目题源代码class Solution { public int findKthLargest(int[] nums, int k) { Arrays.sort(nums); int n = nums.length; return nums[n-k]; }}原创 2021-05-13 20:29:30 · 48 阅读 · 0 评论 -
排序数组(常规排序都可以,这里使用的堆排序)
题目题源代码堆排序(升序用大根堆,降序用小根堆):class Solution { public int[] sortArray(int[] nums) { // Arrays.sort(nums); // return nums; int temp = 0; for (int i = nums.length / 2 - 1; i >= 0; i--) { adjustHeap(nums, i,n原创 2021-06-06 22:02:07 · 58 阅读 · 0 评论