官方的题解已经很好了。
class Solution {
public:
int maxArea(vector<int>& height) {
int i = 0;
int j = height.size() - 1;
int len = height.size();
int res = 0;
while(i < j && i < len && j >=0){
if(height[i] > height[j]){
int vox = height[j] * (j - i);
res = max(res, vox);
j--;
}
else{
int vox = height[i] * (j - i);
res = max(res, vox);
i++;
}
}
return res;
}
};
优化求解:解决高度数组最大面积问题的算法解析
本文详细解读了一种高效的求解方法,用于寻找给定二维高度数组中,通过水平或垂直切割形成的最大面积矩形区域。Solution类中的maxArea函数展示了如何利用双指针技巧动态调整边界,以找到面积最大的组合。
1702

被折叠的 条评论
为什么被折叠?



