11. 盛最多水的容器/C++

这一题最简单的方法就双重for循环,但是时间复杂度太高。 可以很容易的想到,要求的值其实是min(height[i],height[j])*(j-i),这里涉及3个变量:两端的长度,以及底边的长度j-i。两端距离得越远,所得的面积就可能越大。 因此可以先在两端取两个指针,这样底边就达到了最大值,然后再考量两端的边长。然后指针再向内部移动。 具体的就是让指向两边中最短边的指针向内移动,如此新的面积才
相关文章
相关标签/搜索