首页 > 其他分享 >1599. 经营摩天轮的最大利润

1599. 经营摩天轮的最大利润

时间:2023-04-08 18:55:32浏览次数:53  
标签:cnt boardingCost int value waitNum 摩天轮 1599 利润 valueMax

题目链接:1599. 经营摩天轮的最大利润

方法:模拟

解题思路

模拟全部游客都进行游玩,计算其中能赚取的最大利润值以及对应的次数。

代码

class Solution {
public:
  int minOperationsMaxProfit(vector<int>& customers, int boardingCost, int runningCost) {
    int n = customers.size();
    int cnt = 0, value = 0,  idx = 0, waitNum = 0; // currently
    int valueMax = 0, ans = 0; // 最大利润值以及对应次数
    while (idx < n) {
      waitNum += customers[idx ++ ];
      // 登舱
      if (waitNum >= 4) {
        waitNum -= 4;
        value += 4 * boardingCost;
      } else {
        value += waitNum * boardingCost;
        waitNum = 0;
      }
      // 旋转1 / 4
      cnt ++ ;
      value -= runningCost;
      if (value > valueMax) { // 假设此时停止上人,计算是否为最大利润
        valueMax = value;
        ans = cnt;
      }
    }
    while (waitNum >= 4) {
      // 登舱
      waitNum -= 4;
      // 旋转
      cnt ++ ;
      value += 4 * boardingCost - runningCost;
      if (value > valueMax) { // 假设此时停止上人,计算是否为最大利润
        valueMax = value;
        ans = cnt;
      }
    }
    if (waitNum > 0 && waitNum * boardingCost > runningCost) {
      // 登舱,旋转
      cnt ++ ;
      value += waitNum * boardingCost - runningCost;
      if (value > valueMax) { // 假设此时停止上人,计算是否为最大利润
        valueMax = value;
        ans = cnt;
      }
    }
    if (valueMax > 0) return ans; // 返回最大利润对应的次数
    else return -1;
  }
};

复杂度分析

时间复杂度:\(O(m)\),\(m\)为游客数量;
空间复杂度:\(O(1)\)。

标签:cnt,boardingCost,int,value,waitNum,摩天轮,1599,利润,valueMax
From: https://www.cnblogs.com/lxycoding/p/17299014.html

相关文章

  • 如何在谷歌中优化外贸网站,提高业务利润?
    随着全球贸易的不断发展,越来越多的企业开始通过外贸网站开展国际贸易。而在这个过程中,如何让外贸网站在谷歌中排名更高,成为了一个关键的问题。因为谷歌作为全球最大的搜索引......
  • 摩天轮“循环语句”
    今日份学习“循环语句”本文简介:我们所认知的摩天轮是一圈圈循环的反复转圈,今天这篇文章介绍的“循环语句”也与摩天轮相同,那它是如何生成和运转的呢?我们来看一看吧。一,循环......
  • 1599. 经营摩天轮的最大利润 (Medium)
    问题描述1599.经营摩天轮的最大利润(Medium)你正在经营一座摩天轮,该摩天轮共有4个座舱,每个座舱最多可以容纳4位游客。你可以逆时针轮转座舱,但每次轮转都需要......
  • 谷歌云|使用数据和人工智能降低成本和增加利润的 8 种方法
    【CloudAce-谷歌云全球战略合作伙伴,拥有300多名工程师,也是谷歌最高级别合作伙伴,多次获得GoogleCloud合作伙伴奖。作为谷歌托管服务商,我们提供谷歌云、谷歌地图、谷歌......
  • 1599 - 米老鼠偷糖果
       ......
  • 50道编程题之12:企业利润的计算
    packagecom.demo2;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.math.BigDecimal;/***Createdby莫文龙......
  • BI中计算毛利润
      法一(以事实表求解):销售额:销售额=SUMX('销售表','销售表'[数量]*RELATED('产品表'[售价]))成本:成本=SUMX('销售表','销售表......
  • 谷歌云案例|零售商如何提高库存利润率和运营效率?
     【CloudAce--亚洲据点最多的谷歌云合作伙伴,https://cloud-ace.cn/】 零售商在GoogleCloud上运行容器,为什么这很重要?容器(Containers)是现代应用程序的核心。根据......
  • 【LeetCode】股票的最大利润
    classSolution{public: intmaxProfit(vector<int>&prices){ size_tnPriceSize=prices.size(); intnMaxProfit=0; if(nPriceSize>1) { intnMin......
  • 数量3-经济利润问题
    方法2直接分析靠,题目看错了,虽然包邮,但是邮费要自己出,我看成后面才要邮费了。经典给比列求比例题型......