2023.2.28 力扣每日一题2363
题目
思路
- 本题需要统计几个二维列表中,以第一个数字为键,第二个数字为值的键值对值总和。
- 可以用哈希表进行统计,python中最常见的哈希表为字典和集合,这里由于需要统计每个物品的weight,所以选择有键值对的字典
- 统计后对字典的键进行排序,即可以得到最后的列表,直接返回即可
- python中有一个collections库,可以直接统计次数,也可以尝试通过这个库来直接统计
代码
class Solution:
def mergeSimilarItems(self, items1: List[List[int]], items2: List[List[int]]) -> List[List[int]]:
dic = {}
for i in items1:
dic[i[0]] = i[1]
for i in items2:
dic[i[0]] =dic[i[0]] + i[1] if (i[0] in dic.keys()) else i[1]
return sorted(dic.items(), key = lambda x: x[0])
总结
- 简单题不要放松,也要有思路之后尽量优化代码
- 统计通常可以直接用哈希表
以上, 共勉