当前位置: 首页 > news >正文

网站开发公司 logo个人网站备案需要多久

网站开发公司 logo,个人网站备案需要多久,自己创建网站403,高端网页开发软件优先队列哈希集合反向思维(或自定义排序) 模拟,请直接看算法思路: 两个哈希集合S1和S2, S1存正面词汇,S2存负面词汇;一个优先队列pq,pq存{score, id}键值对,即学生分数-学生id。 算法流程: 初…
优先队列+哈希集合+反向思维(或自定义排序)

模拟,请直接看算法思路:
两个哈希集合S1S2, S1存正面词汇,S2存负面词汇;一个优先队列pqpq存{score, id}键值对,即学生分数-学生id。

算法流程:

  1. 初始化S1S2
  2. 遍历reportreport里存的是句子,每个句子report[i]对应一个学生student_id[i]的评价,抠出句子的每个单词report[i][j],将单词分数(对照哈希集合)加给学生。上述流程确定了学生student_id[i]的分数,将学生分数加入优先队列。
  3. 记录前k个学生id,存入答案数组ansans即为所求。

请注意:优先队列默认大根堆,按fisrt成员从大到小排序;在first成员相等时,按照second成员从大到小排序。score是first成员,id是second成员,出现矛盾:当score相同时,题目要求id从小到大排序。解决方法:1. 将score变为负数,或将id变为负数。2. 自定义排序规则(优先队列);本题解将score变为负数,解决了矛盾。

class Solution {
public:vector<int> topStudents(vector<string>& positive_feedback, vector<string>& negative_feedback, vector<string>& report, vector<int>& student_id, int k) {// 哈希集合unordered_set<string> S1, S2;vector<int> ans = vector<int> (k, 0); // 保存答案的ans顺序priority_queue <pair<int, int>, vector<pair<int,int>>> pq; // 存{score, id}键值对。for (int i = 0; i < positive_feedback.size(); i ++) {S1.insert(positive_feedback[i]);}for (int i = 0; i < negative_feedback.size(); i ++) {S2.insert(negative_feedback[i]);}for (int i = 0; i < report.size(); i ++) {int j = 0; // 遍历report[i];int score = 0, id = student_id[i];while (j < report[i].size()) {string t = "";while (j < report[i].size() && report[i][j] != ' ') {t += report[i][j ++];}j ++;if (S1.count(t)) score -= 3; // 得分,数值变小else if (S2.count(t)) score ++; // 扣分,数值变大}pq.push({score, id});if (pq.size() > k) pq.pop();}int i = k - 1;while (i >= 0) { // while (pq.size() && i >= 0) {int id = pq.top().second;pq.pop();ans[i --] = id;}return ans;}
};

时间复杂度 O ( n l o g k ) O(nlogk) O(nlogk) : n n n r e p o r t report report的长度, k k k 是常数(奖励最顶尖的前k名学生),优先队列内部最多维护 k + 1 k+1 k+1名学生,一共 n n n名学生进一次优先队列,最多 n n n名学生出一次优先队列,时间复杂度 O ( n l o g k ) O(nlogk) O(nlogk)
空间复杂度 O ( n ) O(n) O(n) : 两个哈希集合/ans数组的空间复杂度 O ( n ) O(n) O(n),优先队列的最坏空间复杂度 O ( k ) O(k) O(k),总体空间复杂度 O ( n ) O(n) O(n)

AC

ac

致语
  • 理解思路很重要。
  • 请读者放心留言,可以是疑惑的点,或者感谢/夸奖也可以!!墨染看到会回复的。
http://www.yayakq.cn/news/458539/

相关文章:

  • 个人网站建站指南万网网站电话
  • 内蒙古创意网站开发施工企业的维保技术方案
  • 网站推广服务方案南海建设工程交易中心网站
  • 网站登录入口大全it行业怎么入门
  • 小说阅读网站开发如何制作网页插件
  • 微信 公众号 微网站开发学做网站需要什么软件
  • 网站左侧分类菜单怎么做俄文视频网站开发
  • 怎么网站建设公司wordpress mu 安装
  • 上海外贸建站it运维管理系统
  • wordpress 整站模板dw做链接网站无法显示该页面
  • 宁波建设银行网站首页wordpress多媒体上传
  • 重庆巴南网站制作北京经济技术开发区建设局网站
  • 购物车网站建设网页设计一般一个月工资多少
  • 做的物流网站企业网站 flash
  • 国外扁平化网站设计欣赏叫企业做的网站可不可以自己改主题
  • 网站开发项目计划书ppt电子商务网站建设有管理课后答案
  • 女和男做的视频网站阿里云邮箱企业邮箱
  • 用html做网站搜索框阳江网商会
  • 高端响应式网站开发企业画册印刷
  • 信誉好的专业网站建设互联网与网站有哪些
  • 自己做的网站旅游网站建设 pig
  • 宁波城乡建设网站辛集seo网站优化公司
  • 绿色配色的企业网站秦皇岛网站制作与网站建设公司
  • 游戏网站建设收费明细安徽淮南网
  • 网站死链怎么处理电子网站建设实验报告
  • 表白网页制作网站企业网站后台模板
  • 免费 网站青岛发现51例阳性
  • wordpress全站cdn ssl三年抗疫国库空虚殆尽
  • 网站建设中申请备案wordpress 音乐 主题
  • 公司注册名称大全seo最新快速排名