首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

在数组中,数目字减去它右边的数字得到一个数对之差,求所有数对之差最大值

2012-10-12 
在数组中,数字减去它右边的数字得到一个数对之差,求所有数对之差最大值这是一道动态规划的题目,从左往右遍

在数组中,数字减去它右边的数字得到一个数对之差,求所有数对之差最大值

这是一道动态规划的题目,从左往右遍历数组,使用两个变量,一个变量记录开始值,一个记录结果,则有一下公式:

start=a[0];

start=max(start,a[i]));

result=max(result,start-a[i]);

 

代码如下:

public int findMaxAbs(int[]a){int result=0;int start=a[0];for(int i=1;i<a.length;i++){start=max(start,a[i]);result=max(result,start-a[i]);}return result;}public int max(int a,int b){return a>b?a:b;}


 

热点排行