2024每日刷题(133)
Leetcode—2391. 收集垃圾的最少总时间
实现代码
class Solution {
public:
int garbageCollection(vector<string>& garbage, vector<int>& travel) {
int ans = 0;
int roadM = 0;
int roadP = 0;
int roadG = 0;
bool flagM = false;
bool flagP = false;
bool flagG = false;
for(int i = 0; i < garbage.size(); i++) {
if(i == 0) {
roadM = 0;
roadP = 0;
roadG = 0;
} else {
roadM += travel[i - 1];
roadP += travel[i - 1];
roadG += travel[i - 1];
}
for(char c: garbage[i]) {
switch(c) {
case 'M':
{
ans++;
flagM = true;
break;
}
case 'P':
{
ans++;
flagP = true;
break;
}
case 'G':
{
ans++;
flagG = true;
break;
}
}
}
if(flagM) {
ans += roadM;
roadM = 0;
flagM = false;
}
if(flagP) {
ans += roadP;
roadP = 0;
flagP = false;
}
if(flagG) {
ans += roadG;
roadG = 0;
flagG = false;
}
}
return ans;
}
};
运行结果
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!