赞
踩
分治算法:分治算法:分--治--合并,先将问题分成一个个小问题,然后逐个击破即可。常与其他算法结合.
此例中不断将数组从中间分组,直至分到子数组中只有两个数或一个数。
方法一:遍历方法
- 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]))

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。