【专项刷题】— 归并

1、排序数组 - 力扣(LeetCode)

思路:

  1. 先找一个中间值,然后递归左边部分和递归右半部分
  2. 直到左边和右边只剩一个数了就返回,然后再合并左右两个部分
  3. 代码:
    class Solution {
        int[] tmp;
        public int[] sortArray(int[] nums) {
            tmp =  new int[nums.length];
            mergeSort(nums, 0, nums.length-1);
            return nums;
        }
        public void mergeSort(int[] nums, int left, int right){
            if(left >= right){
                return;
            }
            // 1.根据中间值划分区间
            int mid = (right + left)/2;
            // 2.在左右两个区间里面排序
            mergeSort(nums, left, mid);
            mergeSort(nums, mid+1, right);
            // 3.合并两个有序数组
            int cur1 = left;
            int cur2 = mid+1;
            int i = 0;
            while(cur1 <= mid && cur2 <= right){
                tmp[i++] = nums[cur1] <= nums[cur2] ? nums[cur1++] : nums[cur2++];
            }
            //处理没有遍历的数组
            while(cur1 <= mid){
                tmp[i++] = nums[cur1++];
            }
            while(cur2 <= right){
                tmp[i++] = nums[cur2++];
            }
            //覆盖原数组
            for(int j = left; j <= right; j++){
                nums[j] = tmp[j-left];
            }
        }
    }

相关推荐

  1. leetcode记录:归并排序和快速排序

    2024-07-21 21:18:04       24 阅读
  2. 二叉树专题

    2024-07-21 21:18:04       23 阅读
  3. 蓝桥杯--python-20-多路归并,贡献法

    2024-07-21 21:18:04       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 21:18:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 21:18:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 21:18:04       82 阅读
  4. Python语言-面向对象

    2024-07-21 21:18:04       91 阅读

热门阅读

  1. 【深度学习】sdxl的Lora训练技巧

    2024-07-21 21:18:04       26 阅读
  2. 理解Cookie、Session和Token

    2024-07-21 21:18:04       23 阅读
  3. 第四节shell条件测试(5)

    2024-07-21 21:18:04       24 阅读
  4. Python内存泄漏排查

    2024-07-21 21:18:04       19 阅读
  5. 【瓴岳科技】历史面试题

    2024-07-21 21:18:04       25 阅读
  6. 揭秘Odoo OWL的魔法:reactive vs useState

    2024-07-21 21:18:04       22 阅读
  7. PS像素图层简介

    2024-07-21 21:18:04       23 阅读