题目:一个数组,找一个数对,使得两个数对之差最大,并且较大数在较小数之前,要求时间复杂度为O(n)
解决方法:
动态规划,额外定义两个数组,temp[]、max[]
temp[i]用来存储,从开始到下标为i的元素位置,最大数对之差
max[i]用来存储,从开始到下标为i的元素位置,最大值
i=0时:
temp[i]=0;
max[i]=A[i];
i!=0时:
temp[i+1]=max{temp[i],max[i]-A[i+1]};
题目:一个数组,找一个数对,使得两个数对之差最大,并且较大数在较小数之前,要求时间复杂度为O(n)
解决方法:
动态规划,额外定义两个数组,temp[]、max[]
temp[i]用来存储,从开始到下标为i的元素位置,最大数对之差
max[i]用来存储,从开始到下标为i的元素位置,最大值
i=0时:
temp[i]=0;
max[i]=A[i];
i!=0时:
temp[i+1]=max{temp[i],max[i]-A[i+1]};