加油站

抽象,想到了一些,但是
class Solution {
public:
int canCompleteCircuit(vector& gas, vector& cost) {
int rest;
for (int i = 0; i < cost.size(); i++) {
rest = gas[i] - cost[i];
int index = (i + 1) % cost.size();
while (index != i && rest > 0) {
rest += gas[index] - cost[index];
index = (index + 1) % cost.size();
}
if (index == i && rest >= 0) {
return i;
}
}
return -1;
}
};

分发糖果

题目描述

给一队小朋友发糖,相邻小朋友友分高的必须糖多。
基底:每个都有一颗糖。

class Solution {
public:
    int candy(vector<int>& ratings) {
        //int count=0;
        vector<int> CandyVect(ratings.size(),1);
     for(int i=1;i<ratings.size();i++)  {
        if(ratings[i]>ratings[i-1])
        CandyVect[i]=CandyVect[i-1]+1;
     }
       for(int i=ratings.size()-2;i>=0;i--)  {
        if(ratings[i]>ratings[i+1])
        CandyVect[i]=max(CandyVect[i],CandyVect[i+1]+1);//
     }
     int sum=0;
     for(int i=0;i<CandyVect.size();i++) {sum+=CandyVect[i];}
      return sum;  
    }
};
posted on 2025-12-06 00:42  FAfa_C++  阅读(0)  评论(0)    收藏  举报