一个数组,求任一元素减去该元素右边任一元素的差值的最大值

求差值

一个数组,求任一元素减去该元素右边任一元素的差值的最大值,暴力解法时间复杂度是o(n^2),下面通过动态规划的解法,时间复杂度为o(n)。


#include<iostream>
#include<vector>
#include<string>
using namespace std;


int Maxchazhi(vector<int>a){
	int res = 0x80000000;
	int cur = 0x80000000;
	int len = a.size();
	int max = a[0];
	for (int i = 1; i < len; i++){
		cur = max - a[i];
		if (cur > res){
			res = cur;
		}
		if (a[i] > max){
			max = a[i];
		}
	}
	return res;
}

int main(){
	int n;
	vector<int>a{3,2,1,80,6,3,9,1};
	cout << Maxchazhi(a) << endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/heart_leader/article/details/80015660
今日推荐