Q:
有一個(gè)二維表格數(shù)據(jù),它的值全部是整數(shù),其中存儲(chǔ)了若干個(gè)選手參與5分鐘漢字輸入比賽的成績(jī)。數(shù)據(jù)中每一行是一條記錄,每條記錄包含兩個(gè)整數(shù),第1個(gè)整數(shù)為選手編號(hào),它應(yīng)該是一個(gè)4位整數(shù);第2個(gè)整數(shù)是漢字輸入比賽成績(jī),應(yīng)該是一個(gè)小于等于1000的非負(fù)整數(shù)。數(shù)據(jù)中每個(gè)選手最多可能有2條記錄。編寫程序刪除數(shù)據(jù)中的無效記錄和每個(gè)選手的多余記錄,每個(gè)選手只保留有效成績(jī)中成績(jī)最高的一條記錄,然后返回成績(jī)排名第2的選手編號(hào)(當(dāng)成績(jī)相同時(shí)編號(hào)小的選手在前),如果不足2個(gè)選手,則返回第1的選手編號(hào)。注意:測(cè)試數(shù)據(jù)保證按照要求刪除數(shù)據(jù)后,至少有一條記錄。
相關(guān)說明 | |
輸入條件 |
|
輸出要求 |
|
其它要求 |
將代碼寫入函數(shù)func4 |
測(cè)試用例:
輸入 |
返回 |
[[1,2] ,[1022,888]] |
1022 |
[[1,2],[1022,888],[1011,888]] |
1022 |
[[1,2],[1011,888],[1011,800]] |
1011 |
[[1,2],[1011,888],[1011,800],[1025,45]]文章來源:http://www.zghlxwxcb.cn/news/detail-653854.html |
1025文章來源地址http://www.zghlxwxcb.cn/news/detail-653854.html |
#include <bits/stdc++.h>
#include <cstring>
using namespace std;
//=================================================
// 說明:編程題4
// 參數(shù)說明: vector<vector<int> >& records: 二維整型向量,每一行表示一條記錄
// 返回值: 返回成績(jī)排名第2的選手編號(hào)(當(dāng)成績(jī)相同時(shí)編號(hào)小的選手在前)
//=================================================
int cmp(pair<int,int> p1,pair<int,int> p2){
if (p1.second == p2.second)return p1.first<=p2.first;
return p1.second>=p2.second;
}
int func4(vector<vector<int> >& records)
{
unordered_map<int,int> valid_records;
for (auto r : records){
int id = r[0];
int score = r[1];
if (score>=0 && score<=1000){
if (valid_records.find(id)!= valid_records.end())valid_records[id] = max(score,valid_records[id]);
else valid_records[id] = score;
}
}
vector<pair<int,int>> result;
for (auto vr : valid_records)result.push_back(make_pair(vr.first,vr.second));
sort(result.begin(),result.end(),cmp);
if (result.size()>1)cout<<result[1].first;
else cout<<result[1].first;
}
int main(){
vector<vector<int> > records;
records.push_back({1,2});
records.push_back({1011,800});
records.push_back({1015,888});
records.push_back({1011,888});
records.push_back({1025,45});
func4(records);
}
到了這里,關(guān)于c++ 成績(jī)統(tǒng)計(jì)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!