跳转至

力扣刷题笔记

约 118 个字 19 行代码 预计阅读时间 1 分钟

我在力扣上的资料:https://leetcode-cn.com/u/dingjunyao/

数据类型

Python

字典的时间复杂度为\(O(1)\)

技巧

用移位代替乘除(Python)

a << 1 == a * 2
a >> 1 == a // 2

aint

返回二进制表示的字符串(Python)

1
2
3
4
bin(a int)
# eg.
>>> bin(23)
'0b10111'

原地更改函数中传入列表的值(Python)

1
2
3
4
5
6
def f(a List[]):
    a[:] = [3,5] # 可以更改传入的a的值,但也应是可迭代对象,a仍为列表

as = [1,2,3]
f(as)
print(a)
[3,5]

取余(MS SQL)

a % b

用按位异或翻转01(Python)

1
2
3
4
a ^ 1
# eg.
>>> print(1 ^ 1, 0 ^ 1)
0 1

来源:832. 翻转图像

翻转列表(Python)

li[::-1]

来源:832. 翻转图像

消除二进制值的最后一个1

a & (a-1)

来源:191. 位1的个数