1.4的幂
给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。
整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4x
方法一:不断除以4
#方法一:不断除以4
def isPowerOfFour(n):if n==0:return Falsewhile n!=1:if n%4!=0:return False #肯定不是4的幂n=n//4 #继续除以4return True
2.找不同
给定两个字符串 s 和 t ,它们只包含小写字母。
字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。
请找出在 t 中被添加的字母。
方法一:位运算
#方法一:位运算
def findTheDifference(s,t):res=0 #起始为0 开始异或运算for i in s:res^=ord(i) #转换成ASCII码,根据可以交换性质a^b^c=a^c^bfor j in t:res^=ord(j) #相同的会变成0 最后多出来的跟0异或就是多出来的return chr(res)
3.汉明距离
两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。
给你两个整数 x 和 y,计算并返回它们之间的汉明距离。
方法一:异或+位运算
#方法一:异或+位运算
def hammingDistance(x,y):tem=x^y #异或运算,找出其中的1的个数res=0while tem:res+=tem&1 #最右边数字判断tem>>=1return res