2105. 给植物浇水 II
思路:简单的模拟题,双指针来模拟两个人的处理情况
class Solution {
public:
int minimumRefill(vector<int>& plants, int capacityA, int capacityB) {
int sum=0;
int i=0,j=plants.size()-1;
int ta=capacityA,tb=capacityB;
while(i<=j){
if(i!=j){
if(ta<plants[i]){
sum++;
ta=capacityA-plants[i++];
}else{
ta-=plants[i++];
}
if(tb<plants[j]){
sum++;
tb=capacityB-plants[j--];
}else{
tb-=plants[j--];
}
}else{
if(ta>=tb){
if(ta<plants[i]){
sum++;
ta=capacityA-plants[i++];
}else{
ta-=plants[i++];
}
}else{
if(tb<plants[j]){
sum++;
tb=capacityB-plants[j--];
}else{
tb-=plants[j--];
}
}
}
}
return sum;
}
};