0
点赞
收藏
分享

微信扫一扫

Leetcode 2016.增量元素之间的最大差值

题目地址

解题思路

我们可以对数组进行遍历,但是遍历是从数组第二个元素(下标为1)开始,初始化resINT_MIN,初始化前者prenums[0];然后对于每一个nums[j],我们判断此时nums[j]是否大于pre

  1. 如果nums[j]>pre: 我们计算nums[j]-pre,并取其值与res的较大值,将其赋值给res
  2. 如果nums[j]<pre: 我们重置pre为当前的nums[j]
    最后return res==INT_MIN ? -1 : res;

代码实现(C++)

class Solution {
public:
    int maximumDifference(vector<int>& nums) 
    {
        int pre=nums[0];
        int res=INT_MIN;
        for(int i=1;i!=nums.size();i++)
        {
            if(nums[i]>pre)
            {
                res=max(res,nums[i]-pre);
            }
            if(nums[i]<pre)
            {
                pre=nums[i];
            }
        }    
        return res==INT_MIN ? -1 : res;
    }
};
举报

相关推荐

0 条评论