2391. 收集垃圾的最少总时间
题目链接:2391. 收集垃圾的最少总时间
代码如下:
class Solution
{
public:
int garbageCollection(vector<string>& garbage, vector<int>& travel)
{
int timeM=0,timeP=0,timeG=0;//记录各个车的时间
int flagM=0,flagP=0,flagG=0;//标记车子需要走到哪个位置
for(int i=0;i<garbage.size();i++)
{
for(const auto c:garbage[i])
{
if(c=='G')
{
timeG+=1;
flagG=i;
}
else if(c=='P')
{
timeP+=1;
flagP=i;
}
else if(c=='M')
{
timeM+=1;
flagM=i;
}
}
}
for(int i=0;i<flagG;i++) timeG+=travel[i];
for(int i=0;i<flagM;i++) timeM+=travel[i];
for(int i=0;i<flagP;i++) timeP+=travel[i];
return timeG+timeP+timeM;
}
};