Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions solution/011.Container With Most Water/Solution.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
class Solution {
public int maxArea(int[] height) {
int start = 0, end = height.length - 1, maxArea = 0;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

虽然题目没有说明是否有非空的情况,但如果从程序健壮性/实际应用的角度来看,加以下一小段代码是有必要的噢~

if (height == null || height.length < 2) {
    return 0;
}

否则当传入 null 时,程序直接抛 NPE

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image
题目中恰好有提到 数组长度至少为2。

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

while (start < end) {
int hs = height[start];
int he = height[end];
int l = end - start;
if (hs > he) {
maxArea = Math.max(he * l, maxArea);
end--;
} else {
maxArea = Math.max(hs * l, maxArea);
start++;
}
}
return maxArea;
}
}