題目:2016. 增量元素之間的最大差值
思路:維護已遍歷過的最小值,時間復雜度0(n)。
C++版本:
class Solution {
public:int maximumDifference(vector<int>& nums) {int mn=nums[0];int ans=0;for(int i=1;i<nums.size();i++){ans=max(ans,nums[i]-mn);mn=min(mn,nums[i]);}if(ans>0) return ans;return -1;}
};
JAVA版本:
class Solution {public int maximumDifference(int[] nums) {int mn=nums[0];int ans=0;for(int i=1;i<nums.length;i++){ans=Math.max(ans,nums[i]-mn);mn=Math.min(mn,nums[i]);}if(ans>0) return ans;return -1;}
}
Go版本:
func maximumDifference(nums []int) int {mn:=nums[0]ans:=0for i:=1;i<len(nums);i++ {ans=max(ans,nums[i]-mn)mn=min(mn,nums[i])}if ans>0 {return ans}return -1
}