分治算法:分治算法:分--治--合并,先将问题分成一个个小问题,然后逐个击破即可。常与其他算法结合.
此例中不断将数组从中间分组,直至分到子数组中只有两个数或一个数。
方法一:遍历方法
def F(n):
for i in range(len(n)):
for j in range(i+1,len(n)):
if n[i]>=n[j]:
d=n[i]
return d
print(F([1,7,9,2,3,4]))
方法二:分治算法
#分治算法
def F(n):
if len(n)==1 :
return n[0]
if len(n)==2:
if n[0]>=n[1]:
return n[0]
return n[1]
middle=int(len(n)/2)
m1=n[:middle]
m2=n[middle:]
x1=F(m1)
x2=F(m2)
if x1>=x2:
return x1
return x2
print(F([1,2,9,8,24,6,99]))