开始有点上强度了铁子们,这道算法题也是可以说很难理解的~
想了好久才想明白~
---------------------------------------begin---------------------------------------
题目解析:
这一道题刚看题目,根本不知道在讲啥,但看到体积就明白了,求体积呗,这种题目不就是看谁在宽很大的同时,宽也很宽嘛,好像也不是很难~
讲解算法原理:
但是,要是使用暴力算法的话,每种情况都算一遍,那个时间复杂度高的很,所以有这么一种思路:同样也是定义双指针,一个指向0位置,一个指向最后位置的前一位,将第一个指针位置与后一个指针位置的值比较,小的一方++或--即可~
编写代码:
class Solution
{
public:int maxArea(vector<int>& height) {int left=0,right=height.size()-1,ret=0;while(left<right){int v=min(height[left],height[right])*(right-left);ret=max(ret,v);if(height[left]<height[right]){ left++;}else{right--;} }return ret;}
};
想要做做题的铁子也可以自己去试一试哦~
11. 盛最多水的容器 - 力扣(LeetCode)