题解 | #牛群中的第 k 小牛#

牛群中的第 k 小牛

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

#include <vector>
class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param nums int整型vector
     * @param k int整型
     * @return int整型
     */
    void quick_sort(vector<int>&nums, int  l, int  r) {
        if (l >= r) return;
        int x = nums[l + r >> 1], i = l - 1, j = r + 1;
        while (i < j) {
            do i++;
            while (nums[i] < x);
            do j--;
            while (nums[j] > x);
            if (i < j)swap(nums[i], nums[j]);

        }
        quick_sort(nums, l, j);
        quick_sort(nums, j + 1, r);

    }
    int findKthSmallest(vector<int>& nums, int k) {
        // write code here
        quick_sort(nums,0,nums.size()-1);
         return nums[k-1];
    }
};

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务