1402. 做菜顺序(Hard)
题目
题目及示例
我的题解
将所有的菜按照喜爱度从小到大排序,算出全部做出来的结果标志为base state。然后观察可以发现,每减少一道菜,结果=上次的结果-(全部菜喜爱度-减少了的菜的喜爱度)。这样就可以算出来,完全是数学解法。
public int maxSatisfaction(int[] satisfaction) {
Arrays.sort(satisfaction);
if (satisfaction[satisfaction.length - 1] <= 0) {
return 0;
}
int max = 0; // 最大满意度
for (int i = 0; i < satisfaction.length; i++) {
max += (i + 1)
共有 0 条评论