算法|每日一题|切割后面积最大的蛋糕|贪心

1465. 切割后面积最大的蛋糕

原题地址: 力扣每日一题:切割后面积最大的蛋糕

矩形蛋糕的高度为 h 且宽度为 w,给你两个整数数组 horizontalCuts 和 verticalCuts,其中:

horizontalCuts[i] 是从矩形蛋糕顶部到第 i 个水平切口的距离

verticalCuts[j] 是从矩形蛋糕的左侧到第 j 个竖直切口的距离

请你按数组 horizontalCuts 和 verticalCuts 中提供的水平和竖直位置切割后,请你找出 面积最大 的那份蛋糕,并返回其 面积 。由于答案可能是一个很大的数字,因此需要将结果 对 109 + 7 取余 后返回。

java 复制代码
class Solution {
    public int maxArea(int h, int w, int[] horizontalCuts, int[] verticalCuts) {
        Arrays.sort(horizontalCuts);
        Arrays.sort(verticalCuts);
        return (int) ((long)calMax(horizontalCuts, h) * calMax(verticalCuts, w) % 1000000007);
    }

    public int calMax(int[] arr, int board) {
    	// pre是每次计算大小时的起始处,初始值为0,即蛋糕还未被切割的时候
    	// res记录最大值
        int res = 0, pre = 0;
        for (int i : arr) {
            res = Math.max(i - pre, res);
            pre = i;
        }
        // board是蛋糕的长度(宽度),最后要用长度(宽度)减去数组中最后切割的位置,再比较大小
        return Math.max(res, board - pre);
    }
}

如果对您有帮助,请点赞关注支持我,谢谢!❤

如有错误或者不足之处,敬请指正!❤

相关推荐
小白的代码日记5 分钟前
Spring MVC 入门案例:从代码到原理的深度剖析
java·spring·mvc
SimonKing8 分钟前
吊打面试官系列:Spring如何使用三级缓存解决循环依赖
java·后端·面试
冠离sir10 分钟前
代码随想录训练营第三十天 | 452. 用最少数量的箭引爆气球 435. 无重叠区间 763.划分字母区间
算法
数据与人工智能律师12 分钟前
数据淘金时代:公开爬取如何避开法律雷区?
网络·人工智能·算法·云计算·区块链
天天摸鱼的java工程师15 分钟前
八年实战:分布式系统全局唯一 ID 生成方案全解析
java·后端·面试
chanalbert17 分钟前
Spring上下文模块设计
java·spring
论迹22 分钟前
【JavaEE】-- HTTPS
java·https·java-ee
天天摸鱼的java工程师22 分钟前
面试官灵魂拷问:如何设计一个支持 10 万 QPS 的秒杀系统?
java·后端·面试
无名之逆23 分钟前
Junior Year Self-Study Notes My Journey with the Hyperlane Framework
java·开发语言·前端·spring boot·后端·rust·编程
crud23 分钟前
Spring Boot 整合 Smart-Doc:零注解生成 API 文档,告别 Swagger
java·spring boot·swagger