​力扣解法汇总1599. 经营摩天轮的最大利润
创始人
2024-05-30 06:54:57
0

目录链接:

力扣编程题-解法汇总_分享+记录-CSDN博客

GitHub同步刷题项目:

https://github.com/September26/java-algorithms

原题链接:力扣


描述:

你正在经营一座摩天轮,该摩天轮共有 4 个座舱 ,每个座舱 最多可以容纳 4 位游客 。你可以 逆时针 轮转座舱,但每次轮转都需要支付一定的运行成本 runningCost 。摩天轮每次轮转都恰好转动 1 / 4 周。

给你一个长度为 n 的数组 customers , customers[i] 是在第 i 次轮转(下标从 0 开始)之前到达的新游客的数量。这也意味着你必须在新游客到来前轮转 i 次。每位游客在登上离地面最近的座舱前都会支付登舱成本 boardingCost ,一旦该座舱再次抵达地面,他们就会离开座舱结束游玩。

你可以随时停下摩天轮,即便是 在服务所有游客之前 。如果你决定停止运营摩天轮,为了保证所有游客安全着陆,将免费进行所有后续轮转 。注意,如果有超过 4 位游客在等摩天轮,那么只有 4 位游客可以登上摩天轮,其余的需要等待 下一次轮转 。

返回最大化利润所需执行的 最小轮转次数 。 如果不存在利润为正的方案,则返回 -1 。

示例 1:

输入:customers = [8,3], boardingCost = 5, runningCost = 6
输出:3
解释:座舱上标注的数字是该座舱的当前游客数。
1. 8 位游客抵达,4 位登舱,4 位等待下一舱,摩天轮轮转。当前利润为 4 * $5 - 1 * $6 = $14 。
2. 3 位游客抵达,4 位在等待的游客登舱,其他 3 位等待,摩天轮轮转。当前利润为 8 * $5 - 2 * $6 = $28 。
3. 最后 3 位游客登舱,摩天轮轮转。当前利润为 11 * $5 - 3 * $6 = $37 。
轮转 3 次得到最大利润,最大利润为 $37 。

示例 2:

输入:customers = [10,9,6], boardingCost = 6, runningCost = 4
输出:7
解释:
1. 10 位游客抵达,4 位登舱,6 位等待下一舱,摩天轮轮转。当前利润为 4 * $6 - 1 * $4 = $20 。
2. 9 位游客抵达,4 位登舱,11 位等待(2 位是先前就在等待的,9 位新加入等待的),摩天轮轮转。当前利润为 8 * $6 - 2 * $4 = $40 。
3. 最后 6 位游客抵达,4 位登舱,13 位等待,摩天轮轮转。当前利润为 12 * $6 - 3 * $4 = $60 。
4. 4 位登舱,9 位等待,摩天轮轮转。当前利润为 * $6 - 4 * $4 = $80 。
5. 4 位登舱,5 位等待,摩天轮轮转。当前利润为 20 * $6 - 5 * $4 = $100 。
6. 4 位登舱,1 位等待,摩天轮轮转。当前利润为 24 * $6 - 6 * $4 = $120 。
7. 1 位登舱,摩天轮轮转。当前利润为 25 * $6 - 7 * $4 = $122 。
轮转 7 次得到最大利润,最大利润为$122 。

示例 3:

输入:customers = [3,4,0,5,1], boardingCost = 1, runningCost = 92
输出:-1
解释:
1. 3 位游客抵达,3 位登舱,0 位等待,摩天轮轮转。当前利润为 3 * $1 - 1 * $92 = -$89 。
2. 4 位游客抵达,4 位登舱,0 位等待,摩天轮轮转。当前利润为 is 7 * $1 - 2 * $92 = -$177 。
3. 0 位游客抵达,0 位登舱,0 位等待,摩天轮轮转。当前利润为 7 * $1 - 3 * $92 = -$269 。
4. 5 位游客抵达,4 位登舱,1 位等待,摩天轮轮转。当前利润为 12 * $1 - 4 * $92 = -$356 。
5. 1 位游客抵达,2 位登舱,0 位等待,摩天轮轮转。当前利润为 13 * $1 - 5 * $92 = -$447 。
利润永不为正,所以返回 -1 。

提示:

  • n == customers.length
  • 1 <= n <= 105
  • 0 <= customers[i] <= 50
  • 1 <= boardingCost, runningCost <= 100

 

解题思路:

* 解题思路:
* 这题感觉没什么意思,就是原模原样的按照需求来实现就好了

代码:

public class Solution1599 {public int minOperationsMaxProfit(int[] customers, int boardingCost, int runningCost) {if (boardingCost * 4 < runningCost) {return -1;}int waiterNum = 0;int income = 0;int spend = 0;int max = 0;int times = -1;int i = 0;do {int customer = 0;if (i < customers.length) {customer = customers[i];}i++;waiterNum += customer;int num = Math.min(waiterNum, 4);income += (num * boardingCost);spend += runningCost;waiterNum -= num;int profit = income - spend;if (profit > max) {times = i;max = profit;}} while (waiterNum != 0 || i < customers.length);return times;}
}

上一篇:特斯拉后端面试(部分)

下一篇:SSM框架

相关内容

热门资讯

古刹袅袅初三作文1000字【... 古刹袅袅初三作文1000字 篇一古刹袅袅初三作文1000字古刹袅袅,岁月流转间,承载着古老而庄严的历...
初三毕业的作文800字(实用... 初三毕业的作文800字 篇一初三毕业,离别之际,心情复杂。回首这三年的初中生涯,我不禁感慨万分。初三...
遇见未来作文800字初三【精... 遇见未来作文800字初三 篇一未来,是一个神秘而又充满想象的词。当我们谈论未来时,脑海中浮现的可能是...
约定,三年后实现-初三作文【... 约定,三年后实现-初三作文 篇一约定,三年后实现我和我的好朋友小明是从小一起长大的,我们的友谊可以说...
初三成长励志作文(精简6篇) 初三成长励志作文 篇一:磨砺初心,迈向成功初三,对于每个初中生来说,是一个关键的阶段。在这一年里,我...
数学与物理(精彩3篇) 数学与物理 篇一数学和物理是两门密不可分的学科,它们之间相辅相成,互相促进着科学的发展。数学为物理提...
我多想轻轻地抱着你初三抒情作... 我多想轻轻地抱着你初三抒情作文 篇一初三,是人生中一个特殊的阶段。在这个阶段里,我们经历了许多变化和...
九年级开学季作文【通用6篇】 九年级开学季作文 篇一我的新学期计划新学期开始了,我对未来的九年级生活充满了期待和憧憬。在这个关键的...
初三下学期新学期新打算作文6... 篇一:初三下学期新学期新打算新的学期开始了,对于我来说,这是一个全新的开始,一个全新的机会去追求我的...
弟弟对不起作文300字【通用... 篇一:弟弟对不起我是一个有一个比我小四岁的弟弟的姐姐。在我和弟弟的相处中,难免会有矛盾和冲突,但最近...
亲情类初三700字作文大全(... 亲情类初三700字作文大全 篇一家,是我最温暖的港湾家,是我最温暖的港湾。在这个喧嚣的世界里,家是我...
感恩的花开在成长的路上初三作... 感恩的花开在成长的路上初三作文 篇一感恩是一种美好的情感,它让我们在成长的路上更加坚定和幸福。每个人...
九年级我该怎么过700字作文... 九年级我该怎么过700字作文 篇一九年级对于我来说是一个非常重要的阶段,它标志着我即将迈入高中的大门...
知恩初三作文【精彩3篇】 知恩初三作文 篇一:感恩父母作为一个初三学生,我深刻地意识到自己应该对父母心怀感恩之情。他们是我成长...
初三漂流作文800字(优质6... 初三漂流作文800字 篇一初三漂流这个寒假,我和几个好朋友决定去体验一次漂流的刺激。我们选择了一个位...
初三家教手册:给儿子成长的机... 初三家教手册:给儿子成长的机会 篇一家庭教育是孩子成长过程中至关重要的一环。特别是对于初三的孩子来说...
九年级你好作文700字【最新... 九年级你好作文700字 篇一初中生活的收获与感悟初中生活即将结束,回首这三年的时光,我仿佛看到了一幅...
初三100多字的优美句子【精... 初三100多字的优美句子 篇一初三,是我们人生中一个重要的阶段。这个阶段的我们正在开始追寻自己的梦想...
向目的地进发初三作文800字... 向目的地进发初三作文800字 篇一目的地,是每个人心中的追求和向往。初三,是每个中学生成长的关键时期...
美味寿司初三作文(最新3篇) 美味寿司初三作文 篇一:探寻寿司的魅力寿司,是一道源自日本的美食,以其精致的制作工艺和独特的口感,在...