分割統治法で最大値問題を解くアルゴリズム
find(A, l, r) は、配列Aのlからr(rを含まない)の範囲内にある要素の最大値を探す関数
code:python
def findMaximum(A, l, r):
m = (l + r) / 2 # devide
if l == r - 1: # 要素数が一つ
else:
u = findMaximum(A, l, m) # 前半の部分問題をsolve
v = findMaximum(A, m, r) # 後半の部分問題をsolve
x = max(u, v)
return x