这种题暴力肯定不行,思考有没有遍历一遍就解决的方法。
这倒题的关键是,最后的面积是受制于较短的那条边的。
首先设置两个变量,为矩形的两个边界,依次向内迭代。
每次迭代只需要短的那一边,这是因为,如果迭代长的一边,新的面积一定小于上一步的面积(新的高<=短的边,新的底<原来的低)。如果两边相等,实际上就不需要进行下去了。
时间复杂度O(n)。
图片解释更加清楚:https://leetcode.com/articles/container-most-water/
这种题暴力肯定不行,思考有没有遍历一遍就解决的方法。
这倒题的关键是,最后的面积是受制于较短的那条边的。
首先设置两个变量,为矩形的两个边界,依次向内迭代。
每次迭代只需要短的那一边,这是因为,如果迭代长的一边,新的面积一定小于上一步的面积(新的高<=短的边,新的底<原来的低)。如果两边相等,实际上就不需要进行下去了。
时间复杂度O(n)。
图片解释更加清楚:https://leetcode.com/articles/container-most-water/