【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;
}
相关推荐
Darkwanderor9 小时前
Linux线程控制
linux·c语言·c++
过期的秋刀鱼!9 小时前
使用都热编码的分类特征
人工智能·算法·决策树·机器学习·分类·数据挖掘
wabs66610 小时前
关于哈希表【力扣383.赎金信的思考】
算法·leetcode·散列表
love_muming10 小时前
二叉树操作全解析:从递归到层序遍历
java·数据结构·算法·二叉树
Darkwanderor10 小时前
多线程的互斥问题和互斥锁解决互斥问题
linux·c语言·c++
(Charon)10 小时前
【C++】手写线程安全队列:mutex + condition_variable 实现生产者消费者模型
c语言·开发语言·c++
.道阻且长.19 小时前
2.LeetCode算法习题讲解--双指针--复写零
算法·leetcode·职场和发展
To_OC20 小时前
LC 438 找到所有字母异位词:暴力超时后,我靠滑动窗口一招搞定
javascript·算法·leetcode
命运之光1 天前
【C语言完整代码】就诊信息管理系统
java·c语言·开发语言