- #include
#include
using namespace std;
int minT(int a, int b)
{
if (a > b)
{
return b;
}
return a;
}
int ContainerWithMostWaterT(vector &vec)
{
int i = 0, j = vec.size() - 1, res = 0;
while (i < j)
{
res = maxT(res, minT(vec[i], vec[j])(j - i));
vec[i] > vec[j] ? j-- : i++;
}
return res;
}//从两边开始查找,高度小的先移动。
int ContainerWithMostWater(vector &vec)
{
int maxWater = 0;
for (int i = 0; i < vec.size()-1; i++)
{
for (int j = i + 1; j < vec.size(); j++)
{
int hight = minT(vec[i], vec[j]);
int length = j - i;
if (maxWater < hightlength)
{
maxWater = hight*length;
}
}
}
return maxWater;
}
int main()
{
vector vec{ 1,8,6,2,5,4,8,3,7 };
cout << ContainerWithMostWater(vec) << endl;
system(“pause”);
return 0;
}
Container With Most Water 装最多水的容器
最新推荐文章于 2024-05-20 20:08:58 发布