1402. 做菜顺序

编程入门 行业动态 更新时间:2024-10-28 14:34:13

1402. 做菜<a href=https://www.elefans.com/category/jswz/34/1771364.html style=顺序"/>

1402. 做菜顺序

题目

一个厨师收集了他 n 道菜的满意程度 satisfaction ,这个厨师做出每道菜的时间都是 1 单位时间。

一道菜的 「 like-time 系数 」定义为烹饪这道菜结束的时间(包含之前每道菜所花费的时间)乘以这道菜的满意程度,也就是 time[i]*satisfaction[i] 。

返回厨师在准备了一定数量的菜肴后可以获得的最大 like-time 系数 总和。

你可以按 任意 顺序安排做菜的顺序,你也可以选择放弃做某些菜来获得更大的总和。

解题思路

  1. 对数组进行排序,进行双层循环遍历计算like-time 系数和,并返回最大值

代码展示

class Solution {public int maxSatisfaction(int[] satisfaction) {Arrays.sort(satisfaction);int size = satisfaction.length;int max = 0;if(satisfaction[size - 1] <= 0){return max;}for (int i = 0; i < size; i++){int count = 0;for (int j = 0; j <= i; j++){做菜时间是从1开始的,排序是从小到大的count += satisfaction[size - 1 - j] * (i + 1 - j);}max = Math.max(max, count);}return max;}
}

更多推荐

1402. 做菜顺序

本文发布于:2023-12-04 23:07:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1662390.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:顺序

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!