215 第K大元素 运行超时

来源:3-5 三路快排partition思路的应用 Sort Color

gin_gin

2017-10-10

老师,能麻烦看一下我的代码哪里出了问题吗?提交显示超时

int quicksort(vector<int>& nums, int l, int r) {
		srand(time(NULL));
		swap(nums[l], nums[l + rand() % (r - l + 1)]);
		int i = l + 1, j = r;
		while (i <= j) {
			if (nums[i] > nums[l])
				i++;
			else 
				swap(nums[i], nums[j--]);
		}
		swap(nums[l], nums[j]);
		return j;
	}

	int findKthLargest(vector<int>& nums, int k) {
		int l = 0, r = nums.size() - 1;
		int n = quicksort(nums, l, r);
  		while (n != k - 1) {
			if (n < k - 1)
				n = quicksort(nums, n + 1, r);
			else
				n = quicksort(nums, l, n - 1);
		}
		return nums[n];
	}

谢谢!!
写回答

1回答

liuyubobobo

2017-10-11

1
1
gin_gin
非常感谢!
2017-10-11
共1条回复

玩转算法面试-- Leetcode真题分门别类讲解

课程配套大量BAT面试真题,高频算法题解析,强化训练

7446 学习 · 1159 问题

查看课程