博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最大子数组
阅读量:6902 次
发布时间:2019-06-27

本文共 1795 字,大约阅读时间需要 5 分钟。

一、设计思路:

  初始化max为a[0];sum依次计算和,如果sum大于零且大于max,将max值更新,否则,sum继续往后加,避免例如 2,-1,2 这种情况,如果sum值小于零,则将sum值归零,循环。

  统计始末位置下标,每更新max记录尾标,每归零sum值,起始下标更新。

二、源代码:

1 package ketang; 2  3 public class Zishuzu { 4     public static void main(String[] args){ 5         int []a={5,3,-2,-1,10}; 6         int []b={-5,-3,2,-1,-10}; 7         int []c={-5,-3,-2,-1,-10}; 8         max(a); 9         maxhuan(a);10         max(b);11         max(c);12     }13     public static void max(int []a){14         int max=a[0],sum=0,wei=0,tou = 0;15         String s="";16         for(int i=0;i
=0){20 if(sum>max){21 max=sum;22 wei=i;23 }24 else25 continue;26 }27 else{28 sum=0;29 s="";30 }31 }32 wei++;33 //全负数和尾负数处理34 if(s.equals("")){35 if(max<0){36 max=a[0];37 for(int i=0;i
max){39 max=a[i];40 tou=i;41 }42 }43 tou++;44 wei=tou;45 }46 else{47 for(int i=0;i
0){49 tou=i;50 break;51 }52 }53 tou++;54 }55 }56 else57 tou=Integer.parseInt(String.valueOf(s.charAt(0)))+1;58 System.out.println("最大和:"+max+" "+"头:"+tou+" 尾:"+wei);59 }60 61 public static void maxhuan(int []a){62 int[] aa=new int[(2*a.length)-1];63 for(int i=0;i

 

三、截图:

 

转载于:https://www.cnblogs.com/ghs1065248758/p/6653112.html

你可能感兴趣的文章
nmon 性能:分析 AIX 和 Linux 性能的免费工具
查看>>
Python面向对象
查看>>
从0到1,蘑菇街怎样打破应用运维自动化的技术藩篱
查看>>
Vmware Vcenter创建虚拟机模板
查看>>
【Django源码浅析】—Django runserver启动流程与URL路由
查看>>
Html5添加文件上传组件美化插件教程
查看>>
InfoSphere Streams——实时大数据分析平台
查看>>
keepalived+lvs实现负责均衡群集
查看>>
Exchange server 2003迁移到2010无路由组连接器
查看>>
xcode lldb gdb调试
查看>>
经典SQL语句大全
查看>>
20个PPT制作的诀窍
查看>>
java(二十二)枚举
查看>>
传统企业做电子商务需要用好模式,盲目跟踪中“商”自己
查看>>
Office 365管理员指引 13——创建部门网站
查看>>
虚函数
查看>>
Hashtable 与HashMap的区别
查看>>
分享常用的gis算法(C#)
查看>>
android获取google邮箱
查看>>
打造高可用 LVS+keepalived
查看>>