求最大和 java_用java求最大子段和

//简单算法importjava.util.Random;publicclasszuidaziduanhe{finalstaticintN=8;//代表列intbestSum=0;//最大子段和的值intbesti=0;//最大子段和所在段的起始坐标intbestj=0;//最大子...

//简单算法import java.util.Random;public class zuidaziduanhe {final static int N=8;// 代表列int bestSum = 0;// 最大子段和的值int besti=0;// 最大子段和所在段的起始坐标int bestj=0;// 最大子段和所在段的终止坐标// 最大子段和的简单算法int MaxSum(int n,int []a,int besti,int bestj)//正常的方法 { int sum=0; for(int i=0;isum) { sum=thissum; besti=i; bestj=j; } } } return sum; } public static void main(String[] args) {zuidaziduanhe zdzdh = new zuidaziduanhe();int[]a = new int [N+1];// 下标为0的元素没有意义Random rand = new Random();// 设置随机种子for(int i=1;i<=N;i++){int flag = rand.nextInt()%2;// flag为1代表正数,flag为0代表负数if(flag!=0)a[i]= rand.nextInt()%30;elsea[i] = -rand.nextInt()%30;System.out.print(a[i]+"\t");}//int bi=0,bj=0;int bestSum = zdzdh.MaxSum(N,a,zdzdh.besti,zdzdh.bestj);System.out.print("\n从"+zdzdh.besti+"到"+zdzdh.bestj+"的子段和最大,最大值为:"+bestSum);//System.out.print("\n最大字段和为:"+bestSum);}}代码如上,但是获取不到起始值和终止值

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值