本文主要是介绍LeetCode75——Day12,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 一、题目
- 二、题解
一、题目
11. Container With Most Water
You are given an integer array height of length n. There are n vertical lines drawn such that the two endpoints of the ith line are (i, 0) and (i, height[i]).
Find two lines that together with the x-axis form a container, such that the container contains the most water.
Return the maximum amount of water a container can store.
Notice that you may not slant the container.
Example 1:
Input: height = [1,8,6,2,5,4,8,3,7]
Output: 49
Explanation: The above vertical lines are represented by array [1,8,6,2,5,4,8,3,7]. In this case, the max area of water (blue section) the container can contain is 49.
Example 2:
Input: height = [1,1]
Output: 1
Constraints:
n == height.length
2 <= n <= 105
0 <= height[i] <= 104
二、题解
双指针+贪心
class Solution {
public:int maxArea(vector<int>& height) {int n = height.size();int left = 0,right = n - 1;int maxS = 0;while(left < right){int h1 = height[left];int h2 = height[right];int S = min(h1,h2) * (right - left);maxS = max(maxS,S);if(h1 > h2) right--;else left++;}return maxS;}
};
这篇关于LeetCode75——Day12的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!