博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
返回一个整数数组中最大子数组的和
阅读量:6294 次
发布时间:2019-06-22

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

程序设计思想:

思路:

因为时间复杂度为O(n),则只能遍历一次数组
这里同时使用两个变量sum和max,其中sum保存的是当前的和,若sum<0
则从下一个位置从新记录,max记录的是历史的最大值
只有当sum>max时用sum替换max。

出现的问题:

在初始化max和sum的值时,把max初始化成了0,sum的值初始化成了数组的而第一个元素的值。

可能的解决方法:

应该把max的值初始化成数组的第一个元素的值,把sum的值初始化成0;

源代码:

public class IntArrayMax {        public static void  MaxIntArray(int[] intArray) {            int sum=0;        int max=intArray[0];        for(int i=0;i
=0){ sum+=intArray[i]; }else{ sum=intArray[i]; } if(sum>max){ max=sum; } } System.out.println("子数组中的最大值:"+max); }}
public class Invoke {    public static void main(String[] args) {        // TODO 自动生成的方法存根        Random random=new Random();        //int num=random.nextInt(10);        int[] intArray=new int[10];        System.out.print("随机数组:");        for(int i=0;i

结果截图:

 总结:

编程前应该先分析清楚题的意思,然后想好思路,进行编程。

转载于:https://www.cnblogs.com/andibier/p/7988421.html

你可能感兴趣的文章
分析型数据库受大数据市场追捧
查看>>
深度学习训练,选择P100就对了
查看>>
ElasticSearch小操之Marvel,Sense
查看>>
[译] Redux 有多棒?
查看>>
Powershell 邮件发送
查看>>
创建代码生成器可以很简单:如何通过T4模板生成代码?[下篇]
查看>>
大数据时代分析师 Splunk助大数据落地
查看>>
【前沿】何恺明大神ICCV2017最佳论文Mask R-CNN的Keras/TensorFlow/Pytorch 代码实现
查看>>
云计算中心的实施技术
查看>>
iOS中 支付宝钱包详解/第三方支付 韩俊强的博客
查看>>
赛可达推病毒攻击检测和情报分享服务
查看>>
《社交网站界面设计(原书第2版)》——2.10 自我反省式的出错信息
查看>>
【vue】webpack打包vue项目并且运行在Tomcat里面
查看>>
颠覆传统下载体验 QNAP迅雷系列NAS重磅登场
查看>>
物联网:从源头为生产环境安全把关
查看>>
英巴卡迪诺新年战略:支持Linux提供中文手册
查看>>
梭子鱼任命James Forbes-May为亚太区销售副总裁
查看>>
关于“大数据”的15条干货思考
查看>>
Wind River Helix系统及物联网解决方案 简化企业IOT部署
查看>>
《VMware Virtual SAN权威指南》一第1章 VSAN概述
查看>>