题解 | [Galadriel]#牛群的排序##C++#

牛群的排序

https://www.nowcoder.com/practice/c35e45c4adda44a1a3c5115033e0c5f0

#include <type_traits>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型vector 
     * @return int整型vector
     */
    //function of QuickSort
    void QuickSort(vector<int>& nums, int start, int end){
        if(start>=end) return;
        int left = start;
        int right = end;
        int pivot = nums[start];
        while(left<right){
            while(left<right && nums[right]>=pivot) right--;
            nums[left] = nums[right];
            while(left<right && nums[left]<=pivot)  left++;
            nums[right]=nums[left];
        }
        nums[left] = pivot;
        QuickSort(nums, start, left-1);
        QuickSort(nums, left+1, end);
    }
    vector<int> sortCows(vector<int>& nums) {
        QuickSort(nums, 0, nums.size()-1);
        return nums;
    }
};

全部评论

相关推荐

流浪的神仙:无恶意,算法一般好像都得9硕才能干算法太卷啦
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务