LeetCode 3

易知,該題的目標是尋找max((i-j)*min(height[i],height[j])),(0<=j<i<=n)。如果是暴力求解,就用雙循環遍歷列表,時間複雜度O(n^2),但這樣無疑太低效了。經過觀察,發現一些剪枝的辦法。目標值的i,j必在最大值M上或其左右兩邊:即若Ml爲 左端最大值,Mr爲 右端最大值,則j<=Ml,i>=Mr。因此可以從兩頭向中間找,工作量大減。還有每次找下一個i/j,
相關文章
相關標籤/搜索