重复数字
返回任一重复数字
lst=list(input())
res=0
for i in range(len(lst)):if lst[i] in lst[i+1:len(lst)]:res=int(lst[i])break
print(res)
相邻字符去重(消消乐)
str=input()
res=''
for i in str:if res=="":res+=ielif res[-1]!=i:res+=ielse:res=res[:-1]print(res)
2的幂
位运算,与运算,都为1则为1,很巧妙的方法
print(bin(4),bin(8),bin(16),bin(3),bin(7),bin(15))
#如果作与运算,2的幂和2的幂-1,结果为0
n=int(input())
def func(n):if n>0 and n&(n-1)==0:return Trueelse:return False
print(func(n))
最长公共子串
滑动窗口
str1=input()
str2=input()
def lcs(str1,str2):left=0res=""for i in range(len(str1)+1):if str1[left:i+1] in str2:res=str1[left:i+1]else:left+=1return res
print(lcs(str1,str2))
冒泡排序
两层循环,大的就往后面放
lst=[1,14,25,31,21,17,6,8,14,9,7]
def bubble_sort(lst):for i in range(len(lst)):for j in range(len(lst)-1-i):if lst[j]>lst[j+1]:lst[j],lst[j+1]=lst[j+1],lst[j]return lst
print(bubble_sort(lst))