Code
基本概念:Binary Search 101。
注意是 return l
(left index),因為取 mid = l + (r - l)/2
,所以 mid
會落在偏左邊,而 l = mid + 1
,也就是説 l
會是符合 canLoad
的最小值。
另外,對 vector 取 max 可以用 STL 中的 max_element ,不過因為 return 回來的是一個 iterator,所以要在前面加上 *
,將其轉成 int
。而對 vector 取 sum 可以用 reduce。
Time Complexity: O((r−l)logn), Space Complexity: O(1)
Link