【C语言刷力扣】2391.收集垃圾的最少总时间

题目:

解题思路:

倒序遍历找到每种垃圾车停的最远的房子,同时每处房子每种垃圾1分钟处理。

函数garbageLastCollectionDistance() 通过倒序遍历 garbage找到垃圾车走到的最远的房子,并计算花费的时间

复制代码
int garbageLastCollectionDistance(char** garbage, int garbageSize, int* travel, char type) {
    int result = 0;
    for(int j = garbageSize-1; j > 0; j--) {
        if(strchr(garbage[j], type) != NULL) {
            for(int k = 0; k < j; k++) {
                result += travel[k];
            }
        break;
        }
    }
    return result;
}

int garbageCollection(char** garbage, int garbageSize, int* travel, int travelSize) {
    int result = 0;
    for(int i = 0; i < garbageSize; i++) {
        result += strlen(garbage[i]);
    }
    result += garbageLastCollectionDistance(garbage, garbageSize, travel, 'G');
    result += garbageLastCollectionDistance(garbage, garbageSize, travel, 'P');
    result += garbageLastCollectionDistance(garbage, garbageSize, travel, 'M');
    return result;
}
相关推荐
水龙吟啸13 小时前
数据结构与算法随机复习–Day1
数据结构·c++·算法
生成论实验室13 小时前
《事件关系阴阳博弈动力学:识势应势之道》第八篇:认知与反思关系——探索、定位与延续
人工智能·算法·架构·知识图谱·创业创新
YaraMemo14 小时前
一文带你区分全局最优解和帕累托最优解
算法·5g·信息与通信·信号处理
白夜111714 小时前
C++(标签派发 Tag Dispatching)
开发语言·c++·笔记·算法
YaraMemo14 小时前
数学优化问题中的三大转化:多目标转化为单目标,多变量转化为单变量,有约束转化为无约束
人工智能·算法·5g·信息与通信·信号处理
Ailan_Anjuxi15 小时前
【附Python源码】使用minGPT训练自己的小型GPT语言模型
算法
会编程的土豆15 小时前
由c/c++速通go语言,新手必看
c语言·c++·golang
QuZero15 小时前
StampedLock Mechanism
java·算法
云泽80815 小时前
二叉树高阶笔试算法题精讲(二):非递归遍历与序列构造全解析
c++·算法·面试
无限进步_15 小时前
C++ 多态机制完全解析:从虚函数重写到动态绑定原理
java·c语言·jvm·数据结构·c++·windows·后端