在LeetCode刷题陆陆续续也半年多了,简单题重拳出击,中等题思考良久,困难直接CV的方式也摸索了近600题,全站前1W名了。
由于主要使用的是python刷题,利用列表和字典等结构和不需要考虑大数等遍历确实给刷题带来了一些便利,除了以上,我个人在刷题时根据大佬们的方法还总结了一部分简化刷题步骤,减轻代码量的库,算是一种投机取巧的办法,今天来总结一下,之后也会不定时更新。
这个库我用的比较多的是Counter和deque
前者Counter可以将带有重复元素的list转为词频的字典
Counter解析链接
后者deque主要利用其两端都可以pop元素的特性去解题
deque解析链接
这个itertools库属于最偷懒的那一种库,像是数据操作中的笛卡尔积(product),全排列和子排列(combinations)和条件分组(groupby)都是无往不利的杀器
itertools解析链接
combinations解析链接
主要介绍的是创建小顶堆,弹出和加入 以及 批量操作的步骤
heapq解析链接
二分刷题必备,融合了定位插入位置 和 插入保持有序等函数功能
bisect解析链接
最后添一个一直会忘的代码段:
python 对于极大极小值定义
max_float = float(“inf”) # 无限大 比所有数大
min_float = float(“-inf”) #无限小 比所有数小
以后是否补充待定。。。