
Python学习笔记
文章平均质量分 75
CP Coding
这个作者很懒,什么都没留下…
展开
-
用Python刷LeetCode必备知识点3 - collections.defaultdict()
在用Python刷LeetCode时,字典dict是最经常被用到的数据结构,但是对于访问dict,要是键值key不存在,就会有‘KeyError’的错,在写代码时就要先判断key是否存在,因此就要多写好几行代码来避免‘KeyError’。特别是类似使用列表字典,或者用于统计频率等。比如要统计一个字符串中字符的频率,用普通的dict,代码如下:freq = {}for c in s: if c in freq: freq[c] += 1 else:原创 2022-02-07 12:21:01 · 850 阅读 · 0 评论 -
用Python刷LeetCode必备知识点2 - SortedDict
在刷LeetCode过程中,遇到很多题目要用hashtable, 即键-值(key-value)存储使一个对象映射到另一个对象。在c++中叫映射map,而python中叫字典dict, 全称dictionary。有时候我们不仅要用到键-值(key-value)存储,还要求键keys是有序的,在c++中有unordered_map 和ordered_map,而python中常用的字典dict中的keys并不是有序的,需要有序的就需要用到Sorted Containers模块sortedcontainers.S原创 2022-01-08 22:50:37 · 6398 阅读 · 0 评论 -
用Python刷LeetCode必备知识点1 - 优先级队列
LeetCode里有很多道题都会用到一个数据结构叫优先级队列Priority Queue (min heap 或max heap)。优先级队列是用堆heap来实现的,最小值在队列顶部top的是最小堆(min heap),最大值在队列顶部的是最大堆(max heap)。原创 2021-12-31 00:00:47 · 1068 阅读 · 0 评论