1.情景:给出一个数组(item_list),给出一个目标(target),如何利用二分查找找出目标所在的位置
def er_fen(item_list,target):
low = 0
hgih = len(item_list)#求出数组的长度
while low<hgih:
mid = int((low + hgih) / 2) # 求出中位数
if item_list[mid]==target:
return mid
elif item_list[mid]<target:
low = mid
else:
hgih = mid
print(er_fen([17,25,33,42,55,72],33))
2.情景:列出给定字符串所有的排列组合(递归的使用)
def combination(s=''):
if len(s)<=1:
return [s]
sl=[]
for i in range(len(s)):
for j in combination(s[0:i]+s[i+1:]):
sl.append(s[i]+j)
return set(sl)
print(combination('abc'))