当前位置:首页 > 编程笔记 > 正文
已解决

Leetcode—2512.奖励最顶尖的K名学生【中等】

来自网友在路上 171871提问 提问时间:2023-11-04 17:19:56阅读次数: 71

最佳答案 问答题库718位专家为你答疑解惑

2023每日刷题(十九)

Leetcode—2512.奖励最顶尖的K名学生

在这里插入图片描述

哈希表+stringstream+排序算法思想

在这里插入图片描述

实现代码

class Solution {
public:vector<int> topStudents(vector<string>& positive_feedback, vector<string>& negative_feedback, vector<string>& report, vector<int>& student_id, int k) {unordered_map<string, int> words;for(auto pos: positive_feedback) {words[pos] = 3;}for(auto neg: negative_feedback) {words[neg] = -1;}vector<vector<int>> stu;for(int i = 0; i < report.size(); i++) {int score = 0;stringstream ss;string word;ss << report[i];while(ss >> word) {if(words.count(word)) {score += words[word];}}stu.push_back({-score, student_id[i]});}sort(stu.begin(), stu.end());vector<int> top;for(int i = 0; i < k; i++) {top.push_back(stu[i][1]);}return top;}
};

运行结果

在这里插入图片描述
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Leetcode—2512.奖励最顶尖的K名学生【中等】":http://eshow365.cn/6-32009-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!