辽宁网站建设电话,百度企业网站建设,网站营销推广计划,做市场推广应该掌握什么技巧题目 一个厨师收集了他 n 道菜的满意程度 satisfaction #xff0c;这个厨师做出每道菜的时间都是 1 单位时间。 一道菜的 「 like-time 系数 」定义为烹饪这道菜结束的时间#xff08;包含之前每道菜所花费的时间#xff09;乘以这道菜的满意程度#xff0c;也就是 time[i…题目 一个厨师收集了他 n 道菜的满意程度 satisfaction 这个厨师做出每道菜的时间都是 1 单位时间。 一道菜的 「 like-time 系数 」定义为烹饪这道菜结束的时间包含之前每道菜所花费的时间乘以这道菜的满意程度也就是 time[i]*satisfaction[i] 。 返回厨师在准备了一定数量的菜肴后可以获得的最大 like-time 系数 总和。 你可以按 任意 顺序安排做菜的顺序你也可以选择放弃做某些菜来获得更大的总和。 解题思路
对数组进行排序进行双层循环遍历计算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;}
}