【LeetCode】11.盛最多水的容器

思路:

利用双指针法进行移动,一个在头一个在尾,此时宽度最宽,当宽度缩小时,高度发生变化,从而可以找到最大值。

代码:

cpp 复制代码
int maxArea(int* height, int heightSize) 
{
	int* left = height;
	int* right = (height + heightSize - 1);
	int area = 0;
	int maxArea = -1;
	while (left < right)
	{
		int min = *left > *right ? *right : *left;//找高度最小值
		area = min * (right - left);
		if (area > maxArea)
		{
			maxArea = area;//找面积最大值
		}
		if (*left > *right)
		{
			right--;
		}
		else
		{
			left++;
		}
	}
	return maxArea;
}
相关推荐
小咪一会1 个月前
JVM 基础
jvm·1024程序员节
空灵之海1 个月前
Ubuntu系统安全合规配置
linux·ubuntu·系统安全·1024程序员节
阿啄debugIT1 个月前
装饰(Decorator)模式可以在不修改对象外观和功能的情况下添加或者删除对象功能
软件工程·1024程序员节
lzb_kkk2 个月前
【实习总结】Qt通过Qt Linguist(语言家)实现多语言支持
开发语言·c++·qt·1024程序员节·qt linguist·qt 语言家
Yangy_Jiaojiao2 个月前
三维手眼标定
1024程序员节
guozhetao3 个月前
【图论,拓扑排序】P1347 排序
数据结构·c++·python·算法·leetcode·图论·1024程序员节
lzb_kkk3 个月前
【C++】C++四种类型转换操作符详解
开发语言·c++·windows·1024程序员节
lzb_kkk4 个月前
【MFC】编辑框、下拉框、列表控件
c语言·开发语言·c++·mfc·1024程序员节
lzb_kkk4 个月前
【MFC】树控件的使用详解
开发语言·c++·windows·mfc·1024程序员节
SizeTheMoment5 个月前
List介绍
1024程序员节