遍历中value与key的赋值是不是写错了
来源:10-4 LeetCode:347. 前 K 个高频元素

慕用6828665
2021-01-26
m.forEach((value, key) => {
// 应该把map中的value当作新对象的value,key当作新对象的key
// 因为最终是通过新对象的value比较大小
h.insert({key, value})
if(h.size() > k){
h.pop()
}
})
之所以视频中没有错误,因为数组中是数字,得到的m中value刚好是1,2,3
如果换成['a','a','b','c','c','c'],按照视频方式会出现字母比较大小,而不是次数比较大小
写回答
4回答
-
一笑奈何qq
2023-04-01
我也很疑惑,h.insert({value,key})中的对象{value,key}怎么可以这么写?012023-08-05 -
weixin_慕函数4026144
2021-11-10
字典的forEach方法,箭头函数中第一个参数接收的是键值,第二个参数接收的是键。没有写错。
00 -
林威廉
2021-07-11
我的理解是:
key是唯一值,所以要把key當作map裡的出現的數字值,而value作為該key出現的次數值
因為如果顛倒過來,把出現的次數作為key,是沒辦法對應到
nums.forEach(n=> {
map.set( n, map.has(n) ? map.get(n) +1 : 1 )
})
這段的映射關係的
00 -
lewis
2021-01-27
按照实际场景分析具体问题,如果场景有变,允许调整
00
相似问题