给出一组学生的名字以及他们的成绩,求最高的平均分(一位学生可能有多门课成绩)
样例
Example 1:
Input:names = ["bob","ted","ted"]
grades=[88,100,20]
Output:88
Example 2:
Input: names = ["john","xisa","xisa","liajd","alice","john","xisa","mark","ted","xlisa"]
grades = [95,83,33,50,78,91,80,67,85,87]
Output:93
思路:利用map统计每个学生的总分,利用count函数得出每个学生计入总分的科目数,简答的平均分计算得到最高即可
class Solution {
public:
/**
* @param names: the name
* @param grades: the grade
* @return: the maximum average score
*/
double maximumAverageScore(vector<string> &names, vector<int> &grades) {
// Write your code here
double res=0.0;
map<string,double> sum;
for (int i = 0; i < names.size(); i++) {
/* code */
sum[names[i]]+=grades[i];
}
for (auto i : sum) {
/* code */
res=i.second/count(names.begin(),names.end(),i.first)>res?i.second/count(names.begin(),names.end(),i.first):res;
}
return res;
}
};