大家好,秋招就要开始了。决定从今天开始需要定期刷LeetCode啦!
分享今日两道LeetCode题目~~~
LeetCode11:盛最多水的容器(C++)
题目描述:
解题思路:
- 核心思想:双指针。一个从最左边走,一个从右边走。
- 【重点理解】:容纳水量的多少是由最低的容器决定的。
- 所以使用water记录容纳的水量,然后左右指针由小的那边更新。
已通过代码:
class Solution {
public:
int maxArea(vector<int>& height) {
int i=0, j=height.size()-1; //双指针初始
int water = 0;//容水量记录
while(i < j) {
water = max(water, min(height[i],height[j])*(j-i));//每次更新记录最大的容水量
if(height[i]<height[j]) i++; //左边的低的话,左指针右移
el