来自于leetcode(曾在小米校招笔试题见到过)
解题思路来源:https://www.bilibili.com/video/BV1TK411j7LP
可能脑子最快想到的就是暴力枚举,就像选择排序那样的,类似如下动图:
不会像大佬那样一下想到双指针之类的算法;
但可以仔细分析下枚举,看看是不是可以不暴力的枚举,而是有思想的枚举,这样就可以通过(计算机的死板但可重复+人灵活的大脑)解决复杂问题;
从暴力枚举 ==》 优化枚举 ==》 解题;
详情可看视频学习;
js答案如下:
var maxArea = function(height) { if (!height || height.length <= 1) return 0; var left = 0; var right = height.length - 1; var answer = 0; while(left < right){ answer = Math.max(answer,((right - left) * (Math.min(height[left], height[right])))) if (height[left] < height[right]) { left ++ } else { right -- } } return answer };
原文:https://www.cnblogs.com/forever-xuehf/p/12776145.html