算法|每日一题|做菜顺序|贪心

1402. 做菜顺序

原题地址: 力扣每日一题:做菜顺序

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

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

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

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

java 复制代码
class Solution {
    public int maxSatisfaction(int[] satisfaction) {
    	// 排序
        Arrays.sort(satisfaction);
        for (int i = 0, j = satisfaction.length - 1; i < j; i++, j--) {
            int temp = satisfaction[i];
            satisfaction[i] = satisfaction[j];
            satisfaction[j] = temp;
        }
        int presum = 0, ans = 0;
        for (int si : satisfaction) {
        	// 大于零说明ans还能继续增加
            if (presum + si > 0) {
                presum += si;
                ans += presum;
            } else {
                break;
            }
        }
        return ans;
    }
}

如果对您有帮助,请点赞关注支持我,谢谢!❤

如有错误或者不足之处,敬请指正!❤

相关推荐
shehuiyuelaiyuehao5 分钟前
算法39,位运算,消失的两个数字
java·数据结构·算法
ZiLing6 分钟前
2026 ROS 2 Lyrical 踩坑实录(一):编译与依赖——rosdep、现代 CMake 与 CMake 4.x
算法
小刘在重生~6 分钟前
Java 异常体系完整笔记
java·笔记·python
Murphy_lx7 分钟前
1124. 表现良好的最长时间段
c++·算法
抠脚小弟10 分钟前
Spring Task 定时任务详解:从入门到实战
java·后端·spring
aramae18 分钟前
模拟实现strstr函数(C语言)
c语言·开发语言·算法
2601_9622845028 分钟前
Python 和Java 哪个更适合做自动化测试?
java·自动化测试·python·接口测试·性能测试
liliangcsdn31 分钟前
因子权重矩阵处理-滞回缓冲带+降频稳定化动态重选
开发语言·python·算法
随遇而安zx40 分钟前
【多线程】---AQS 原理 知识点(设计思想与源码深度解析)
java·多线程·aqs
LXMXHJ43 分钟前
springboot中的线程操作
java·spring boot·后端·线程