# LEETCODE 1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts 解题思路分析

```输入：h = 5, w = 4, horizontalCuts = [1,2,4], verticalCuts = [1,3]

```输入：h = 5, w = 4, horizontalCuts = [3,1], verticalCuts = [1]

```输入：h = 5, w = 4, horizontalCuts = [3], verticalCuts = [3]

• 2 <= h, w <= 10^9
• 1 <= horizontalCuts.length < min(h, 10^5)
• 1 <= verticalCuts.length < min(w, 10^5)
• 1 <= horizontalCuts[i] < h
• 1 <= verticalCuts[i] < w
• 题目数据保证 horizontalCuts 中的所有元素各不相同
• 题目数据保证 verticalCuts 中的所有元素各不相同

```public int maxArea(int h, int w, int[] horizontalCuts, int[] verticalCuts) {
Arrays.sort(horizontalCuts); // 排序所有横切
Arrays.sort(verticalCuts); // 排序所有纵切
// 最大横切间距（默认为最大高度到最后一刀横切间距离）
long maxH=h-horizontalCuts[horizontalCuts.length-1];
// 最大纵切间距（默认为最大宽度到最后一刀纵切间距离）
long maxW=w-verticalCuts[verticalCuts.length-1];
// 循环每一纵切，找到最大纵切间距离
for(int i=0;i<verticalCuts.length;i++){
int width=verticalCuts[i]-(i==0?0:verticalCuts[i-1]);
maxW=Math.max(maxW,width);
}
// 循环每一横切，找到最大横切间距离
for(int i=0;i<horizontalCuts.length;i++){
int height=horizontalCuts[i]-(i==0?0:horizontalCuts[i-1]);
maxH=Math.max(maxH,height);
}
// 两者乘积为最大面积
long area=maxW*maxH;
return (int)(area%1000000007);
}```

Runtime: 14 ms, faster than 79.02% of Java online submissions for Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts.

Memory Usage: 49.4 MB, less than 100.00% of Java online submissions for Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts.