给定一个整数集合,找出第K大的整数。整数集合中可能有重复的元素,对于重复的元素,排名时不重复计入。 举个例子: 假设整数集合为:4 1 9 2 4 8 2 8 7,那么第1大的数是9,第2大的数是8,第3大的数是7。尽管集合有两个8,但不影响7在整个集合中的排名。
区块链毕设网qklbishe.com为您提供问题的解答
给定一个整数集合,找出第K大的整数。整数集合中可能有重复的元素,对于重复的元素,排名时不重复计入。
举个例子:
假设整数集合为:4 1 9 2 4 8 2 8 7,那么第1大的数是9,第2大的数是8,第3大的数是7。尽管集合有两个8,但不影响7在整个集合中的排名。
#include <bits/stdc++.h> using namespace std; int main() { int target,num; vector<int>nums; cin >> target; while(cin >> num) nums.push_back(num); sort(nums.begin(), nums.end(), greater<int>()); int k = 1; for(int i = 1;i < nums.size();i++) { if(nums[i] == nums[i-1]) continue; if(k++ == target-1) cout << nums[i] <<endl; } return 0; }
27:14
以上就是关于问题给定一个整数集合,找出第K大的整数。整数集合中可能有重复的元素,对于重复的元素,排名时不重复计入。
举个例子: 假设整数集合为:4 1 9 2 4 8 2 8 7,那么第1大的数是9,第2大的数是8,第3大的数是7。尽管集合有两个8,但不影响7在整个集合中的排名。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训