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