排序算法
菜鸡快飞
这个作者很懒,什么都没留下…
展开
-
合并有序链表
21.合并两个有序链表 class Solution { public ListNode mergeTwoLists(ListNode list1, ListNode list2) { ListNode dummy = new ListNode(0); ListNode pre = dummy; while(list1!=null&&list2!=null){ if(list1.val < list2.va原创 2022-05-13 19:33:37 · 188 阅读 · 0 评论 -
堆排序算法
912.排序数组 class Solution { public int[] sortArray(int[] nums) { for(int i = nums.length/2 - 1; i >= 0; i--){ heapAdjust(i, nums.length, nums); } for(int i = nums.length - 1; i >= 1; i--){ int temp = nums[0]; nums[0] = nums[i];原创 2022-05-13 13:47:12 · 77 阅读 · 0 评论 -
数组中逆序数对(归并排序)
剑指offer 51 完全就是归并排序分治思想的体现,在合并过程中,计算逆序对 public class Solution { int[] temp; public int reversePairs(int[] nums) { temp = new int[nums.length]; return mergesort(0, nums.length - 1, nums); } private int mergesort(int left, int right原创 2022-05-13 02:44:33 · 79 阅读 · 0 评论 -
归并排序~
912.排序数组 归并排序 int[] temp; public int[] sortArray(int[] nums) { temp = new int[nums.length]; mergesort(0, nums.length - 1, nums); return nums; } private void mergesort(int left, int right, int[] nums){ if(left >= right) return; int mid = (left + rig原创 2022-05-13 00:55:23 · 63 阅读 · 0 评论 -
快排...
912.排序数组 class Solution { public int[] sortArray(int[] nums) { quicksort(0, nums.length - 1, nums); return nums; } private void quicksort(int left, int right, int[] nums){ if(left >= right) return; int j = lef原创 2022-05-12 23:04:38 · 38 阅读 · 0 评论