美文网首页
LeetCode 第2008 题:出租车的最大盈利

LeetCode 第2008 题:出租车的最大盈利

作者: 放开那个BUG | 来源:发表于2024-04-01 17:29 被阅读0次

1、前言

题目描述

2、思路

这道题跟1235题一样,都是先按照结束时间排序(这里是结束地点),然后就是选第i个和不选第i个。不选第i个,就是前面dp[i-1];选第i个,那得往前走到第一个结束时间<=第i个的开始时间

3、代码

class Solution {
    public long maxTaxiEarnings(int n, int[][] rides) {
        Arrays.sort(rides, (o1, o2) -> o1[1] - o2[1]);
        int m = rides.length;
        long[] dp = new long[m + 1];
        for(int i = 1; i <= m; i++){
            int j = i - 1;
            for(; j >= 0; j--){
                if(rides[j][1] <= rides[i - 1][0]){
                    break;
                }
            }
            dp[i] = Math.max(dp[i - 1], dp[j + 1] + rides[i - 1][1] - rides[i - 1][0] + rides[i - 1][2]);
        }
        return dp[m];
    }
}

相关文章

网友评论

      本文标题:LeetCode 第2008 题:出租车的最大盈利

      本文链接:https://www.haomeiwen.com/subject/srfmkdtx.html