题目

解答:

简单的题目。min_num存储当前数之前的最小数,每次遍历更新min_num和ans,ans为max(ans,(当前值-当前最小值))

需要注意如果数列是降序排列的,类似9876543,那么需要return -1

class Solution {
public:
    int maximumDifference(vector<int>& nums) {
        int n = nums.size();
        int ans=0;
        int min_num=nums[0];
        for(int i=1;i<n;i++){
            min_num=min(min_num,nums[i]);
            ans=max(ans,nums[i]-min_num);           
        }
        if(ans==0) ans--;
        return ans;
    }
};

时间复杂度O(n),空间复杂度O(1)

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐