java 力扣 1665题 完成所有任务的最少初始能量

class Solution {

    public int minimumEffort(int[][] tasks) {

        int rs = 0;

        Arrays.sort(tasks, (a, b) -> (b[1] - b[0]) - (a[1] - a[0]));

//        为了使最后剩余的能量最小先完成能量差较大的任务

        for (int i = tasks.length - 1; i >= 0; i--) {

            int[] task = tasks[i];

//            更新minEnergy的值 是要下一个的要求能量还是上一个结束的能量加需要的能量 哪个大

            rs = Math.max(rs + task[0], task[1]);

        }

        return rs;

    }

}

你可能感兴趣的:(java,算法,leetcode,贪心算法)