贪心3

  1. 加油站
class Solution {
public:
    int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {
        int n = gas.size();
        int ans = 0;
        int min_s = 0, s = 0;

        for(int i = 0; i < n; i++)
        {
            s += gas[i] - cost[i];
            if(s < min_s)
            {
                min_s = s;
                ans = i + 1;
            }
        }
        return s < 0 ? -1:ans;
    }
};
```、
135. 分发糖果

class Solution {
public:
int candy(vector& ratings) {
int n = ratings.size();
// int cs[n];
// memset(cs, 0, sizeof(cs));
int res = 0;
vector cs(n, 1);

    for(int i = 0;i < n - 1; ++i)
    {
        
        if(ratings[i] < ratings[i+1])
            cs[i + 1] = cs[i] + 1;
    }
    for(int i = n - 1;i > 0; --i)
    {
        if(ratings[i] < ratings[i-1])
            cs[i - 1] = max(cs[i]+1, cs[i - 1]);
    }
    for(int i = 0; i < n; ++i)
    {
        res += cs[i];
    }
    return res ;
}

};


860. 柠檬水找零

class Solution {
public:
bool lemonadeChange(vector& bills) {

    vector<int> a(2, 0);
    for(int i = 0; i < bills.size(); i++)
    {
    
        if(bills[i] == 5)
            a[0]++;
        else if(bills[i] == 10)
        {
            if(a[0] == 0)
                return false;
            else
            {
                a[1]++;
                a[0]--;
            }
        }
        else if(bills[i] == 20)
        {
            
           if(a[1] > 0 && a[0] > 0)
           {
                a[1]--;
                a[0]--;
           }
           else if(a[0] >= 3)
           {
                a[0] -= 3;
           }
           else
                return false;
        }
    }
    return true;
}

};

406. 根据身高重建队列

class Solution {
public:
vector<vector> reconstructQueue(vector<vector>& people) {
sort(people.begin(), people.end(), [](vector& a, vector& b)->bool{
if(a[0] == b[0])
return a[1] < b[1];
return a[0] > b[0];
});
vector<vector> ans;
for(int i = 0;i < people.size(); i++)
{
if(people[i][1] > i)
ans.push_back(people[i]);
else
ans.insert(ans.begin() + people[i][1] ,people[i]);
}

    return ans;
}

};

posted @ 2025-02-14 21:37  skyler886  阅读(7)  评论(0)    收藏  举报