博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
课堂练习
阅读量:4650 次
发布时间:2019-06-09

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

解题思路:从头到尾逐个累加数组中的每个数字,初始化和为0;(nCurrSum=0,nGreatestNum=int.MinValue)定义两个变量:“累加子数组和”和“最大子数组和”,第一步把数组中的第一个数字赋值给他们,然后从第二个数字开始累加,累加值放入“累加子数组和”。

       1.如果当前“累加子数组和”小于0,那抛弃前面的“累加子数组和”,从下一个数字开始重新累加,“最大子数组和”的值不更新。

       2.如果当前“累加子数组和”大于0,再让当前“累加子数组和”和当前的“最大子数组和”进行比较。

       3,如果当前“累加子数组和”大于当前“最大子数组和”,则更新“最大子数组和”的值为“累加子数组和”的值。

       4,如果当前“累加子数组和”小于当前“最大子数组和”,“最大子数组和”的值不更新。

      5.再加入数组中的下一个值,“累加子数组和”进入下一轮的累加,“最大子数组和”也进入下一轮的更新。直到数组中所有值都累加完毕。

//20173522 李秦package com.pre.lq;import java.util.Scanner;public class Solution {        public static void main(String[] args)    {       System.out.println("请输入数组中数字的个数:");       int n=0;       Scanner input=new Scanner(System.in);       n=input.nextInt();        int[] array =new int[n];        System.out.println("请输入"+n+"个数:");        for (int i = 0; i < array.length; i++)         {            array[i]=input.nextInt();            }                int result =  FindGreatestSumOfSubArray(array);               System.out.println("连续子数组的最大和为:"+result);     }     public static int FindGreatestSumOfSubArray(int[] array)     {           int len = array.length;           if (len == 0)           {            return 0;           }           int currentsum = array[0];           int greatsetsum = array[0];           System.out.println("第1步:累加子数组和:"+currentsum+",最大子数组和:"+greatsetsum);           for(int i=1;i
0) { currentsum += array[i]; } else { currentsum = array[i]; } if(currentsum > greatsetsum) { greatsetsum = currentsum; } System.out.println("第"+(i+1)+"步:累加子数组和:"+currentsum+",最大子数组和:"+greatsetsum); try{ Thread thread = Thread.currentThread(); thread.sleep(1500); //暂停1.5秒后程序继续执行 }catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } Long endtime = System.nanoTime(); //返回值表示从某一固定但任意的时间算起的毫微秒,此方法只能用于测量已过的时间。
System.out.println("运行时间:"+(endtime - begintime) + "ns"); } return greatsetsum; } }

 运行截图:

 

转载于:https://www.cnblogs.com/lq13035130506/p/10770535.html

你可能感兴趣的文章
JavaScript 第十章总结:first class functions
查看>>
微信公众号发送客服消息【文本、图片】
查看>>
iText简介(转)
查看>>
vue搭建后可以改下全局配置
查看>>
【Docker】Segmentation Fault or Critical Error encountered. Dumping core and abort
查看>>
字典树从第i个构造HDU2846
查看>>
SQL优化笔记(二)—CPU优化
查看>>
bzoj 1042 HAOI2008 硬币购物
查看>>
JS 心得总结
查看>>
WINDOWS 下安装boost
查看>>
Log4j(1)--hellloworld
查看>>
java中equals和 == 的区别
查看>>
greenDao 3.0基础
查看>>
CSS自学笔记(15):CSS3多列布局
查看>>
Objective-C ,ios,iphone开发基础:ios数据库(The SQLite Database),使用终端进行简单的数据库操作...
查看>>
丹佛机场行李系统Postmortem
查看>>
好吧,如果一定要RESTFUL的DJANGO
查看>>
Java类的执行顺序
查看>>
Why ngx-uploader doesn't like to cooperate with .net core 2.x?
查看>>
iOS-Senior20-Map定位
查看>>