本文主要是介绍双指针-leetcode#11-盛水最大容器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
class Solution {
public:int maxArea(vector<int>& height) {//双指针if(height.size()<=1) return 0;int max_area=0;int left = 0,right = height.size()-1;while(left<right){int cur_area = min(height[left],height[right])*(right-left);max_area = max(max_area,cur_area);if(height[left]<= height[right]) left++;else right--;}return max_area; }
};
双指针,一个在左,一个在右,当左小于右时,每次计算min(高)*横坐标间距,更新最大面积,然后将高小的那个下标前移。
这篇关于双指针-leetcode#11-盛水最大容器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!