美文网首页
912-排序数组

912-排序数组

作者: 饮酒醉回忆 | 来源:发表于2020-03-31 13:44 被阅读0次

排序数组

题目

给定一个整数数组 nums,将该数组升序排列。

示例 1:

输入:[5,2,3,1]
输出:[1,2,3,5]
示例 2:

输入:[5,1,1,2,0,0]
输出:[0,0,1,1,2,5]
 

提示:

1 <= A.length <= 10000
-50000 <= A[i] <= 50000

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/sort-an-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

思路

排序方法比较多,这里我就不一一列举了.我最熟悉的算法就是快速排序了.快速排序的思路就是最开始选定一个基准,然后将这个基准进行定位,使基准左边的数字都比他小.之后不停的换基准就可以了.

代码

class Solution {
    public int[] sortArray(int[] nums) {
        //今天的就是各种排序
        //最熟悉的快速排序
        fastSort(0,nums.length-1,nums);
        return nums;   
    }

    private void fastSort(int left,int right,int[] nums){
        if(left >= right){
            return;
        }
        int index = nums[left];
        int i = left;
        int j = right;
        while(i < j){
            while(i < j && index < nums[j]){
                j--;
            }
            nums[i] = nums[j];
            while(i < j && index >= nums[i]){
                i++;
            }
            nums[j] = nums[i];
        }
        nums[i] = index;
        fastSort(left,i-1,nums);
        fastSort(i+1,right,nums);
    }
}

相关文章

  • 912-排序数组

    排序数组 题目 给定一个整数数组 nums,将该数组升序排列。 提示: 1 <= A.length <= 1000...

  • 【LeetCode】912-排序数组

    排序数组 题目 给你一个整数数组 nums,请你将该数组升序排列。 示例 1:输入:nums = [5,2,3,1...

  • LeetCode刷题For C语言·912-数组排序

    注: 稳定性: 相同的数在排序后顺序不变就叫做稳定 1.冒泡排序(超时):时间复杂度:O(n的平方),稳定 缺...

  • iOS 各种排序

    数组排序 数组中字典排序 数组中字典按照某个value排序 排序方法

  • Java 数组的排序、逆序

    数组的排序、逆序测试数据 数组选择排序 数组冒泡排序 数组逆序

  • java 数组和list排序

    数组排序 其中有数组排序和数组对象排序 数组一些数字排序则直接用Arrays.sort()加数组就可以。数组对象则...

  • 数组

    数组的遍历 数组是值类型 数组的排序 冒泡排序 多维数组

  • 2018-01-14

    php数组排序 sort() - 以升序对数组排序 rsort() - 以降序对数组排序 asort() - 根据...

  • PHP排序算法

    排序算法 冒泡排序(数组排序) 快速排序(数组排序) 参考 http://www.cnblogs.com/enia...

  • 算法记录

    快速排序 基本算法: 归并排序讲数组分为两个子数组分别排序,并将有序的子数组归并使得整个数组排序; 快速排序通过一...

网友评论

      本文标题:912-排序数组

      本文链接:https://www.haomeiwen.com/subject/adewuhtx.html