1486. 数组异或操作
异或性质之一:x ^ 0 = x
代码
class Solution:
def xorOperation(self, n: int, start: int) -> int:
tmp = 0
for i in range(n):
tmp ^= start+i*2
return tmp
2595. 奇偶位数
根据题目意思将正整数转为二进制形式,取0b后二进制字符串,反转,分别计数偶数下标和奇数下标个数,返回即可
代码
class Solution:
def evenOddBit(self, n: int) -> List[int]:
s= bin(n)[2:][::-1]
even = odd = 0
for i in range(len(s)):
if s[i]=='1' and i%2==0:
even += 1
if s[i]=='1' and i%2!=0:
odd += 1
return [even,odd]
位运算
class Solution:
def evenOddBit(self, n: int) -> List[int]:
ans = [0, 0]
i = 0
while n:
ans[i] += n & 1
n >>= 1
i ^= 1
return ans
461. 汉明距离
位运算
代码
class Solution:
def hammingDistance(self, x: int, y: int) -> int:
return bin(x^y).count('1')