问题1:
实现1:如果没有条件可以用辅助空间 循环
# ls长度为6 含有5个数字的列表 题目说是长度为1001 含有1000个数的列表
# 换汤不换药 罢了 思路正确就可以
ls = [1,2,3,4,3,5]
for i in range(len(ls)):
for j in range(i+1, len(ls)):
#将两两者进行异或 判断是否相同
if (ls[i] ^ ls[j]) == 0:
print(ls[i])
break
# 消除重复的数
ls = [1,2,3,4,5,5,4,3,2,1,6]
s = 0
for i in range(len(ls)):
s = s ^ ls[i]
# 结果s = 6
print(s)
问题2:
实现2:
def ProblemThree():
ls = [1,2,3,4,3,2,1]
s = 0
for i in ls:
s = s ^ i
print(s)
问题3:
实现3:
def ProblemFour():
n = 100
print(bin(n).lstrip("ob"))
t = 1
count = 0
for i in range(len(bin(n).lstrip("0b"))):
if ((t << i) & n)>>i == 1:
count += 1
print(count)
if __name__ == "__main__":
ProblemFour()