![]() |
#2
rjsp2020-10-20 10:20
|

Algo(A, start, end){
if start = end
L.insert((start, end, A[start]))
return L
else
mid = floor( (start + end)/2)
L.append(Algo(A, start, mid))
L.append(Algo(A, mid+1, end))
L.append(BetSlices(A, start, mid, end))
return L
BetSlices(A, start, mid, end)
li = mid; t = A[mid] ;
for i = mid downto start
if A[i] != t
li = i +1
break
ri = mid ;
for i = mid to end
if A[i] != t
ri = i -1
break
L.insert((li,ri,t))
return L
if start = end
L.insert((start, end, A[start]))
return L
else
mid = floor( (start + end)/2)
L.append(Algo(A, start, mid))
L.append(Algo(A, mid+1, end))
L.append(BetSlices(A, start, mid, end))
return L
BetSlices(A, start, mid, end)
li = mid; t = A[mid] ;
for i = mid downto start
if A[i] != t
li = i +1
break
ri = mid ;
for i = mid to end
if A[i] != t
ri = i -1
break
L.insert((li,ri,t))
return L