位运算符
例1:检测列表里重复元素
l=[1,3,5,7,8,3,9,4,2,5,6]
flag=0
for i in range(len(l)):
if(1<<l[i]&flag)>0:
print("重复:%d"%l[i])
flag|=(1<<l[i])#flag=flag|(1<<l[i])
注:flag记录已经出现过的元素,其实用对应位为1表示出现的式子例如3就用1000表示当前数字对应那位1与flag里那位1相同就重复-->输出重复!
例2:
例3:利用异或判重,相同为0不同为1,剩下的为出现一次的元素