LeetCode百题【盛最多水的容器】
题目描述
解法
双指针+贪心
通过题目描述,需要获得最大的面积,很容易想到双指针,通过左右指针进行变换,改变面积
指针如何移动:为了获得最大的面积 ->即长*宽,让这两个相乘的因子最大(贪心思想)
长:就是左右指针的距离,一开始分别在左右两端—-长度最大
宽:就是垂线的高度,由于盛水的短板效应,这里应该选择两者短的那个。
所以我们应该移动短的那个指针,让高度的落差减小。
最后题目要求是要求最大面积,每次移动后还需要对面积进行比较,更新最大面积
代码
1 |
|
复杂度分析
- 时间复杂度:O(N),双指针总计最多遍历整个数组一次。
来源:力扣(LeetCode)
链接:11. 盛最多水的容器 - 力扣(LeetCode) (leetcode-cn.com)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 漫漫长夜!