第k大元素

小澤のpython發表於2020-11-04

實驗要求

  • 利用STL中的prority_queue容器,求出一個無序整數序列中第k大的元素

輸入要求

  • 第一行輸入2個整數n(0<n<100)和k(0<k<=n)
  • 第二行輸入n個無序整數。

輸出要求

  • 輸出第k大元素(不用換行)

例子

輸入

4 3 
2 1 3 3

輸出

2

原始碼

#include <iostream>
#include <queue>
using namespace std;

int main(){
	int n, k;
	priority_queue<int, vector<int>, less<int>> q;
	cin >> n >> k;
	int list[n];
	for(int i = 0;i < n;i++){
		cin >> list[i];
		q.push(list[i]);
	}
	for(int j = 0;j < n;j++){
		if(j == (k-1)){
			cout << q.top() << endl;
		}
		else{
			q.pop();
		}
	}
}

相關文章