se m 12 21 sme 123 231 312
int findMinRotated(a, start = 0, end = a.length() -1): if start > end: throw if start == end: return a[start] if start +1 == end: return min(a[start], a[end]) mid = start + (end-start)/2 if a[start] < a[mid] < a[end]: return a[start] if a[start] < a[mid]: return findMinRotated(a, mid, end) if a[mid] < a[end]: return findMinRotated(a, start, mid) throw[Hat tip to JR]
No comments:
Post a Comment