概述
题目
求数组中两个元素差的最大值(后面的元素减去前面的元素);对应实际生活中的股票买卖,找出可能的最大收益;
思路
类似于求数组连续和的最大值;
保存最大差值和最小值,遍历数组,如果当前元素-min>最大差值,则更新最大差值;如果当前元素<最小值,则更新最小值;
代码实现
public static int max_difference(int[] a){
int len=a.length;
if(len<2){
return 0;
}
int min=Math.min(a[0], a[1]);
int max_diff=a[1]-a[0];
for(int i=2;i<len;i++){
if(a[i]-min>max_diff){
max_diff=a[i]-min;
}
if(a[i]<min){
min=a[i];
}
}
return max_diff;
}
最后
以上就是积极雪糕为你收集整理的Java求数组中两个元素差的最大值(动态规划)的全部内容,希望文章能够帮你解决Java求数组中两个元素差的最大值(动态规划)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复