Leetcode 11 Container With Most Water
本题不是很难,应用对撞指针就可以得到正确的答案。说下自己犯的一些错误吧,
1. int short = 0,结果编译后出现了Line 4: expected unqualified-id before '=' token的错误,当时我还是一脸懵逼,还以为是标点符号或者其他的错误。后来才想起来,short指代的是基本数据类型short int。
2.将--r写成了++r。神奇的是,使用vector对越界的下标竟然没有出错。
附上正确AC的代码
class Solution { public: int maxArea(vector<int>& height) { int shortLine = 0; int area = 0; int res = 0; int l = 0; int r = height.size() - 1; while (l < r && l < height.size() && r > 0) { shortLine = min(height[l], height[r]); area = shortLine * (r - l); if (area > res) { res = area; } if (height[l] < height[r]) { ++l; } else { --r; } } return res; } };

浙公网安备 33010602011771号