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)

相关推荐
MicroTech202534 分钟前
微算法科技(MLGO)研发突破性低复杂度CFG算法,成功缓解边缘分裂学习中的掉队者问题
科技·学习·算法
墨染点香1 小时前
LeetCode 刷题【126. 单词接龙 II】
算法·leetcode·职场和发展
aloha_7892 小时前
力扣hot100做题整理91-100
数据结构·算法·leetcode
Tiny番茄2 小时前
31.下一个排列
数据结构·python·算法·leetcode
挂科是不可能出现的2 小时前
最长连续序列
数据结构·c++·算法
前端小L3 小时前
动态规划的“数学之魂”:从DP推演到质因数分解——巧解「只有两个键的键盘」
算法·动态规划
RTC老炮3 小时前
webrtc弱网-ReceiveSideCongestionController类源码分析及算法原理
网络·算法·webrtc
21号 13 小时前
9.Redis 集群(重在理解)
数据库·redis·算法
码农多耕地呗4 小时前
力扣146.LRU缓存(哈希表缓存.映射+双向链表数据结构手搓.维护使用状况顺序)(java)
数据结构·leetcode·缓存
hadage2335 小时前
--- 数据结构 AVL树 ---
数据结构·算法