索引:[LeetCode] Leetcode 题解索引 (C++/Java/Python/Sql)Github: https://github.com/illuz/leetcode
011.Container_With_Most_Water (Medium)链接:
题目:https://oj.leetcode.com/problems/container-with-most-water/代码(github):https://github.com/illuz/leetcode
题意:
给一些挡板,选两个挡板,求最大蓄水容量。
分析:
可以看看这个大神的详细算法,,给跪…
这里只用了第二种算法。
代码:C++:
class Solution {public:int maxArea(vector<int> &height) {int lpoint = 0, rpoint = height.size() – 1;int area = 0;while (lpoint < rpoint) {area = max(area, min(height[lpoint], height[rpoint]) *(rpoint – lpoint));if (height[lpoint] > height[rpoint])rpoint–;elselpoint++;}return area;}};
Java:
public class Solution {public int maxArea(int[] height) {int lpoint = 0, rpoint = height.length – 1;int area = 0;while (lpoint < rpoint) {area = Math.max(area, Math.min(height[lpoint], height[rpoint]) *(rpoint – lpoint));if (height[lpoint] > height[rpoint])rpoint–;elselpoint++;}return area;}}
Python:
class Solution:# @return an integerdef maxArea(self, height):lp, rp = 0, len(height) – 1area = 0while lp < rp:area = max(area, min(height[lp], height[rp]) * (rp – lp))if height[lp] > height[rp]:rp -= 1else:lp += 1return area
因为在路上你就已经收获了自由自在的好心情。