美文网首页
排序数组

排序数组

作者: 我知他风雨兼程途径日暮不赏 | 来源:发表于2020-03-31 13:07 被阅读0次

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/sort-an-array

    1.题目

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

    • 示例 1:
      输入:nums = [5,2,3,1]
      输出:[1,2,3,5]
    • 示例 2:
      输入:nums = [5,1,1,2,0,0]
      输出:[0,0,1,1,2,5]

    class Solution {    
        public int[] sortArray(int[] nums) {
          
        }
    }
    

    2.JAVA代码

    快排算法。

    class Solution {
    
        public void quickSwapSort(int[] nums,int begin,int end){
            if(begin>end)return;
            int i=begin;
            int j=end;
            int k = nums[i];
            while(i<j){
                // 从右往左遍历
                while(i<j && nums[j]>=k)j--;
                if(i<j)nums[i]=nums[j];
                // 从左往右遍历
                while(i<j && nums[i]<k)i++;
                if(i<j)nums[j] = nums[i];
            }
            nums[i] = k;
            quickSwapSort(nums,begin,i-1);
            quickSwapSort(nums,i+1,end);
        }
       
        
        public int[] sortArray(int[] nums) {
            quickSwapSort(nums,0,nums.length-1);
            return nums;
        }
    }
    

    相关文章

      网友评论

          本文标题:排序数组

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