File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ class Solution :
2+ def hammingWeight (self , n : int ) -> int :
3+ count = 0
4+ while (n > 0 ):
5+ n = n & (n - 1 )
6+ count += 1
7+ return count
Original file line number Diff line number Diff line change 1+ class Solution :
2+ def isPowerOfTwo (self , n : int ) -> bool :
3+ if n == 0 :
4+ return False
5+ else :
6+ if n & (n - 1 ) == 0 :
7+ return True
8+ else :
9+ return False
Original file line number Diff line number Diff line change 1- 学习笔记
1+ 学习笔记
2+ ## 指定位置的位运算
3+ 1 . 将x最右边的n位清零: x &(~ 0<<n)
4+ 2 . 获取x的第n位值(0或者1):(x>>n)&1
5+ 3 . 获取x的第n位的幂值: x &(1<<n)
6+ 4 . 仅将第n位置为1: x |(1<<n)
7+ 5 . 仅将第n位置为0: x &(~ (1<<n))
8+ 6 . 将x最高位至第n位(含)清零: x &((1<<n)-1)
9+ 7 . 将第n位至第0位(含)清零: x &(~ ((1<<(n+1))-1))
10+
11+ ## 实战位运算要点
12+ • 判断奇偶:
13+ x%2==1 —>(x&1)==1 x%2==0 —>(x&1)==0
14+ • x>>1—>x/2.
15+ 即: x=x/2; —> x=x>>1;
16+ mid=(left+right)/2; —> mid=(left+right)>>1;
17+ • X=X&(X-1)清零最低位的1
18+ • X&-X=>得到最低位的 1
19+ • X&~ X=>0
20+
21+ ## Bloom Filter vs Hash Table
22+ 一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索
23+ 一个元素是否在一个集合中。
24+ 优点是空间效率和查询时间都远远超过一般的算法,
25+ 缺点是有一定的误识别率和删除困难。
You can’t perform that action at this time.
0 commit comments