代码随想录60期day31

122

class Solution{
public:
    int maxProfit(vector&prices){
        int result = 0;
        for(int i  = 1 ; i < prices.size() ; i++){
            result += max(prices[i] - prices[i-1],0);
        }
        return result;
    }
};

55

class Solution {
public:
    bool canJump(vector& nums) {
       int lastPos = nums.size() - 1;
       for(int i = nums.size() - 1; i>=0 ;i--)
        {
            if( i + nums[i] >= lastPos){
                lastPos = i;
            }
        }
        return lastPos == 0;
    }
};

45

class Solution {
public:
    int jump(vector& nums) {
        int n = nums.size();
        int end = 0,farthest = 0;
        int jumps = 0;
        for(int i = 0 ; i < n - 1;i++){
            farthest = max(nums[i] + i, farthest);
            if(end == i){
                jumps++;
                end = farthest;
            }
        }
        return jumps;
    }
};

sum

class Solution{
static bool cmp(int a, int b){
    return abs(a) > abs(b);
}
public:
    int largestSumAfterKNegations(vector&A,int K){
        sort(A.begin(),A.end(),cmp);
        for(int i = 0;i0){
                A[i] *=-1;
                K--;
            }
        }
        if(K %2 == 1) A[A.size()- 1]*=-1;
        int result = 0;
        for(int a: A) result +=a;
        return result;
    }
};

你可能感兴趣的:(算法,leetcode,职场和发展)