LeetCode 每日一题 ---- 【2391.收集垃圾的最少总时间】

LeetCode 每日一题 ---- 【2391.收集垃圾的最少总时间】

2391.收集垃圾的最少总时间

方法:模拟(多次遍历)

需要注意的点是,处理一个单位的一个垃圾需要1分钟,比如"MMM",处理垃圾需要3分钟,这是一个坑点,需要注意。

然后可以提前预处理假设全部单位需要处理全部垃圾,然后遍历的时候减去不需要处理的就可以了。

java 复制代码
class Solution {
    public int garbageCollection(String[] garbage, int[] travel) {
        int ans = 0;
        for (String g : garbage) {
            ans += g.length();
        }
        for (int t : travel) {
            ans += t * 3;        
        }
        for (char c : new char[]{'M', 'P', 'G'}) {
            for (int i = garbage.length - 1; i > 0 && garbage[i].indexOf(c) < 0; i -- ) {
                ans -= travel[i - 1];
            }
        }
        return ans;
    }
}

时间复杂度:

O(n + m)

n是garbage的长度,m是garbage[i]的长度之和

空间复杂度:

O(1)

相关推荐
天天爱吃肉82183 分钟前
【跨界封神|周杰伦×王传福(陶晶莹主持):音乐创作与新能源NVH测试,底层逻辑竟完全同源!(新人必看入行指南)】
python·嵌入式硬件·算法·汽车
im_AMBER4 分钟前
Leetcode 114 链表中的下一个更大节点 | 删除排序链表中的重复元素 II
算法·leetcode
xhbaitxl16 分钟前
算法学习day38-动态规划
学习·算法·动态规划
多恩Stone17 分钟前
【3D AICG 系列-6】OmniPart 训练流程梳理
人工智能·pytorch·算法·3d·aigc
历程里程碑19 分钟前
普通数组----轮转数组
java·数据结构·c++·算法·spring·leetcode·eclipse
pp起床20 分钟前
贪心算法 | part02
算法·leetcode·贪心算法
sin_hielo20 分钟前
leetcode 1653
数据结构·算法·leetcode
2501_9011478322 分钟前
面试必看:优势洗牌
笔记·学习·算法·面试·职场和发展
YuTaoShao32 分钟前
【LeetCode 每日一题】3634. 使数组平衡的最少移除数目——(解法二)排序 + 二分查找
数据结构·算法·leetcode
wangluoqi32 分钟前
26.2.6练习总结
数据结构·算法