海南省住房建设厅网站,站长工具查询域名信息,创新产品设计,昆明网站建设团队2024.1.1 题目来源我的题解方法一 模拟 题目来源
力扣每日一题#xff1b;题序#xff1a;1599
我的题解
方法一 模拟 计算当前上摩天轮的人数和等待的人数就可以得到该轮次的利润#xff0c;然后一只更新最大利润就可以了。 时间复杂度#xff1a;O(n)。n数组的长度 空… 2024.1.1 题目来源我的题解方法一 模拟 题目来源
力扣每日一题题序1599
我的题解
方法一 模拟 计算当前上摩天轮的人数和等待的人数就可以得到该轮次的利润然后一只更新最大利润就可以了。 时间复杂度O(n)。n数组的长度 空间复杂度O(1) public int minOperationsMaxProfit(int[] customers, int boardingCost, int runningCost) {int profit0;//最大利润int res-1;//最优的轮数int remain0;//等待的人数int all0;//已经参与的人数int i0;while(remain0||icustomers.length){int curremain;if(icustomers.length)curcustomers[i];//参与人数是当前的所有人等待人数小于4或者直接上4人allMath.min(cur,4);//等待人数更新remaincur4?cur-4:0;//计算利润int curprofitboardingCost*all-(i1)*runningCost;// System.out.println(curprofit);//更新最大利润if(profitcurprofit){profitcurprofit;resi1;}i;}return res;}在力扣刷题千万要记得把调试时的打印语句去除不然会影响时间复杂度。这道题本身其实感觉有点问题根据示例来看都没有考虑最后在摩天轮上的游客下来的运行费用。
有任何问题欢迎评论区交流欢迎评论区提供其它解题思路代码也可以点个赞支持一下作者哈~