题目:2016. 增量元素之间的最大差值
思路:维护已遍历过的最小值,时间复杂度0(n)。
C++版本:
cpp
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版本:
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版本:
go
func maximumDifference(nums []int) int {
mn:=nums[0]
ans:=0
for i:=1;i<len(nums);i++ {
ans=max(ans,nums[i]-mn)
mn=min(mn,nums[i])
}
if ans>0 {
return ans
}
return -1
}