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)

相关推荐
前端小L3 小时前
贪心算法专题(十):维度权衡的艺术——「根据身高重建队列」
javascript·算法·贪心算法
方得一笔3 小时前
自定义常用的字符串函数(strlen,strcpy,strcmp,strcat)
算法
Xの哲學4 小时前
Linux SMP 实现机制深度剖析
linux·服务器·网络·算法·边缘计算
wuk9984 小时前
使用PCA算法进行故障诊断的MATLAB仿真
算法·matlab
额呃呃4 小时前
二分查找细节理解
数据结构·算法
无尽的罚坐人生4 小时前
hot 100 283. 移动零
数据结构·算法·双指针
永远都不秃头的程序员(互关)5 小时前
C++动态数组实战:从手写到vector优化
c++·算法
水力魔方5 小时前
武理排水管网模拟分析系统应用专题5:模型克隆与并行计算
数据库·c++·算法·swmm
谈笑也风生6 小时前
经典算法题型之排序算法(三)
java·算法·排序算法
大佬,救命!!!7 小时前
对算子shape相关的属性值自动化处理
python·算法·自动化·学习笔记·算子·用例脚本·算子形状