返回子数组的最大和
今天数组的测试,刚开始感觉逻辑很混乱,不知道从什么地方下手,后来问了一个同学想到了一个最繁琐的方法,建立两个数组,几个用来储存以各位数字开头的子数组的和,再将每个数组的最大和存储在一个新的数组中。最终找出最大和。但是这个和老师的时间复杂度相差太多,后来实在是想不出更好的颁发了,于是找了百度,找到了一个办法,理解了半天,最终明白了意思,然后自己尝试写了出来
package max; import java.util.Scanner; public class zdh { public static void main(String[] args) { // TODO 自动生成的方法存根 findmax(); } public static void findmax() { Scanner sc= new Scanner(System.in); int sum=0; int max=0; int a[]=new int[8]; for(int i=0;i<8;i++) {a[i]=sc.nextInt();} for(int i=0;i<8;i++) {sum=sum+a[i]; if(sum<0) sum=0; if(sum>max) max=sum;} System.out.println(max); } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 不到万不得已,千万不要去外包
· C# WebAPI 插件热插拔(持续更新中)
· 会议真的有必要吗?我们产品开发9年了,但从来没开过会
· 【译】我们最喜欢的2024年的 Visual Studio 新功能
· 如何打造一个高并发系统?