大家好,我是林三心,今天给大家分享一道经典的leetcode题目——盛最多水的容器
题目
思路(首尾指针)
首尾指针法:两端向中间夹逼,高度较小一端向中间移动,计算当前面积,如果大于最大面积,则替换
代码
var maxArea = function(height) {
let start = 0, // 首指针
end = height.length - 1, // 尾指针
max = 0; // 面积
while (start < end) {
// 算出较矮的那一边
minHeight = Math.min(height[start], height[end]);
// 算出现在的面积
max = Math.max((end - start) * minHeight, max);
// 算出哪边比较矮,矮的那边向中间靠拢
minHeight === height[start] ? start++ : end--;
}
return max;
};
复制代码
加油!想不想要女朋友?想要的话还不上车?马上开车了哦!