leetcode刷题——一些算法技巧总结1.0
Posted zlting
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode刷题——一些算法技巧总结1.0相关的知识,希望对你有一定的参考价值。
运算符优先级,简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
把数字取反,可以作为一种标记
python
last = {c: i for i, c in enumerate(S)}标记字符串S中每个字母的最后一个位置,存到字典last中十分简洁的写法!!!
二分法规则:
如果是这么写
while(left <= right) {}
,代表是左闭右闭区间
更新这么更新{ right = mid -1 left = mid +1 }
如果是这么写
while(left < right) {}
,代表是左闭右开区间
更新这么更新{ right = mid left = mid +1 }
如果是这么写
while(left < right-1) {}
,代表是左右双开区间
更新这么更新{ right = mid left = mid }
mid = low + (high-low)/2
这样写防止溢出 !第167题:
two num
和第560题:Subarray Sum Equals K
有相同的思想:可以使用字典:key: 遍历list时记录子list的sum值
? value:遍历list时记录子list的sum值出现的次数
这样要找sum为target的次数,就可以找`sum-k`的值出现的次数;
要找sum为target的位置,把此时等于sum的位置返回即可。
以上是关于leetcode刷题——一些算法技巧总结1.0的主要内容,如果未能解决你的问题,请参考以下文章