这道题当时比赛时没写出来,一直报编译错误,还以为是vector二维数组没有开辟大小导致的,后来结束发现是for循环的时候>写成了>=导致数组越界了,这个细节当时没有发现,有点可惜。

class Solution {
public:vector<vector<string>> mostPopularCreator(vector<string>& cr, vector<string>& ids, vector<int>& views) {unordered_map<string, long long> sum,vs;unordered_map<string, string> mxv;long long maxV = 0;for (int i = 0; i  <ids.size(); i ++) {sum[cr[i]] += (long long)views[i];maxV = max(sum[cr[i]], maxV);if (!vs.count(cr[i]) || views[i] > vs[cr[i]] || (views[i] == vs[cr[i]] && ids[i] < mxv[cr[i]])) {mxv[cr[i]] = ids[i], vs[cr[i]] = views[i];}}vector<vector<string>> res;for (auto &p : sum) if (p.second == maxV) res.push_back({p.first, mxv[p.first]});return res;}
};

补题的时候也学到了很多新东西。(我要狠狠吐槽一下csdn这个撤销的操作!!气死了,这篇文章些都快写完了,然后写错了个东西我快捷键撤销一下直接给我撤没了还回不去!!!)

  • map和unordered_map的区别
  • 增强for循环map键值对
  • map调用key和value的简便方法

1.map和unordered_map的区别

在 unordered_map 内部,使用的 Hash Table 对数据进行组织,通过把键值 key 映射到 hash 表中的一个位置进行访问,根据 hash 函数的特点, unordered_map 对于元素查找的时间复杂度可以达到 O(1) ,但是,它的元素排列是无序的。

unordered_map 元素无序,查询快,遍历慢。

在 map 的内部,使用了「红黑树」red-black tree)来组织数据,因此默认的就已经实现了数据的排序。

不过,在存储上 map 却比较占用空间,因为在红黑树中,每一个节点都要额外保存父节点和子节点的连接,因此使得每一个节点都占用较大空间来维护红黑树性质。

map元素有序,占空间。

详见

map和unordered_map的区别 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/210458185

2.增强for循环map键值对

其中sum是map<string,long long>类型的,我们对它进行增强for循环,那么每次提出的p是一个键值对。

对auto的理解:

3.map调用key和value的简便方法

我们看到的p.first和p.second指的就是map中键值对的key和value,非常方便,map也可以这样子使用。

【第317长场力扣周赛】最流行的视频创作者相关推荐

  1. LeetCode 第 58 场力扣夜喵双周赛(动态规划、马拉车算法,前后缀处理)/ 第 253 场力扣周赛(贪心,LIS)

    第 58 场力扣夜喵双周赛 两道600多 5193. 删除字符使字符串变好 题目描述 一个字符串如果没有 三个连续 相同字符,那么它就是一个 好字符串 . 给你一个字符串 s ,请你从 s 删除 最少 ...

  2. 第 304 场力扣周赛

    1.Introduction 平常做代码题目较少,今天迟迟不能入睡,我思考了下,确实有很大概率,对十年内做的目标,有很大可能不能实现.于是做了几道题勉强让自己心安.一边喝着牛栏山壮精神,一边写Leet ...

  3. 第 270 场力扣周赛

    第一百一十二天 --- 第 270 场力扣周赛 题目一 思路:直接模拟 细节 代码 附加 题目二 思路 细节 代码 题目一 力扣:2094. 找出 3 位偶数 思路:直接模拟 1.因为构造所有三位数, ...

  4. 第 256 场力扣周赛(状态压缩+dp,二进制子序列的动规、940)

    第 256 场力扣周赛 有事没做,来看一下题 5854. 学生分数的最小差值 题目描述 给你一个 下标从 0 开始 的整数数组 nums ,其中 nums[i] 表示第 i 名学生的分数.另给你一个整 ...

  5. 第 254 场力扣周赛(KMP、贪心、快速幂、二分+多源bfs、并查集 + 时光倒流)

    第 254 场力扣周赛 稀里糊涂双眼双眼惺忪的做了三道,错了4次...还是600来名 5843. 作为子字符串出现在单词中的字符串数目 题目描述 给你一个字符串数组 patterns 和一个字符串 w ...

  6. 第 321 场力扣周赛

    第 321 场力扣周赛 T1 求和 class Solution { public:int pivotInteger(int n) {int sum=(1+n)*n/2;int cnt=0;for(i ...

  7. LeetCode第 57 场力扣夜喵双周赛(差分数组、单调栈) and 第 251 场力扣周赛(状态压缩动规,树的序列化,树哈希,字典树)

    LeetCode第 57 场力扣夜喵双周赛 离knight勋章越来越近,不过水平没有丝毫涨进 1941. 检查是否所有字符出现次数相同 题目描述 给你一个字符串 s ,如果 s 是一个 好 字符串,请 ...

  8. Leetcode周赛复盘——第 276 场力扣周赛

    第一次参加周赛,AC了三道题,也算不错的成绩了,从现在开始每周的周赛我都会参加并且复盘,有兴趣的小伙伴可以一起讨论. 5980. 将字符串拆分为若干长度为 k 的组 class Solution:de ...

  9. Leetcode周赛复盘——第 71 场力扣双周赛与第 279 场力扣周赛

    双周赛: 5984. 拆分数位后四位数字的最小和 class Solution:def minimumSum(self, num: int) -> int:a, b, c, d = sorted ...

最新文章

  1. CoderForces Round54 (A~E)
  2. Android在View拉丝工艺和invalidate()和其他相关方法
  3. C程序设计语言--第五章:指针与数组
  4. 以太坊源代码 - eth_call以及eth_sendTransaction区别
  5. 携程旅游网与马蜂窝游客记录爬取
  6. 射频识别技术漫谈(17)——射频卡中数据的存储形式
  7. dcp-9020cdn复印位置有_兄弟DCP-9020CDN打印机驱动下载
  8. 卸载Linux原生java_卸载linux自带openjdk并安装sun jdk
  9. 批量修改或删除多个 Word、PPT、Excel、PDF 和记事本文件中的多个关键字
  10. java poi生成word 并插入 表格
  11. PYTHON用时变马尔可夫区制转换(MARKOV REGIME SWITCHING)自回归模型分析经济时间序列...
  12. wince 之临时宏控制 bib 和 reg
  13. Maven:A cycle was detected in the build path of project 'xxx'. The cycle consists of projects {xx}
  14. 睡眠不好怎么办?提升睡眠质量的小妙招
  15. golang常用库之-mgo.v2包、MongoDB官方go-mongo-driver包、七牛Qmgo包 | go操作mongodb、mongodb bson
  16. 各博客平台编辑器使用测评
  17. [DB] From Leng,Oracle 数据库报ora-653 ora-01654错误解决办法
  18. 安信可A9(GPRS模块)快速联网,使用机智云开发IOT应用教程
  19. 给 iOS 装上旧版 APP,十年前的 iPad mini 重获新生!
  20. Java23种设计模式总结-学而不习则罔

热门文章

  1. AWS训练营培训笔记
  2. 【运维小工具】 - Mac OS 如何查看cpu支持的指令集?
  3. Microsoft Excel(微软表格软件)
  4. ECSHOP_顺丰_货到付款设置
  5. python不支持哪种数据类型_Python不支持以下哪种数据类型?
  6. Java中各种BO、POJO类
  7. css修改layui的下拉框样式 js_layui创建表单下拉框样式不显示
  8. Ubuntu16.04 LTS 安装NVIDIA驱动的辛酸史!+ nvidia-settings无法正常打开!+ Tensorflow-gpu成功调用GPU!
  9. 调试涂鸦wifi模组(WBR3),容易忽略的细节问题
  10. 永磁同步电机三相等效电路图_同步电动机原理