1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Solution {
private static final int MOD = 1000000007;

public int maxArea(int h, int w, int[] horizontalCuts, int[] verticalCuts) {
int maxHeight = maxGap(horizontalCuts, h);
int maxWidth = maxGap(verticalCuts, w);

return (int) (((long) maxHeight) * maxWidth % MOD);
}

private int maxGap(int[] cuts, int length) {
Arrays.sort(cuts);

int maxGap = Math.max(cuts[0], length - cuts[cuts.length - 1]);
for (int i = 1; i < cuts.length; i++) {
maxGap = Math.max(maxGap, cuts[i] - cuts[i - 1]);
}
return maxGap;
}
}

References

1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts