标签:容器 area leedcode height 最多水 指针 left
# 1 题目
盛最多水的容器 - 盛最多水的容器 - 力扣(LeetCode) (leetcode-cn.com)
2 思路
1 数据处理:
采用双指针对数组进行遍历,指针移动的原则是高度小的指针移向高度大的指针。
2 数据输出:
若数组的长度小于2,则返回-1(错误)
若数组的长度大于2 ,则返回输出值。
3 代码
#define max(a,b) (a>b)?a:b
#define min(a,b) (a<b)?a:b
int maxArea(int* height, int heightSize){
if(heightSize<2) return -1;
int left=0,right=heightSize-1,area=0;
while(left<right){
int h=min(height[left],height[right]);
area=max(area,h*(right-left)); //存储所有面积中最大值
if(height[left]<height[right]) left++; //遍历完最大高度
else right--;
}
return area;
}
}
return area;
}
标签:容器,area,leedcode,height,最多水,指针,left 来源: https://blog.csdn.net/weixin_47256800/article/details/122401652
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。