课堂练习----数组

输入一个整形数组,数组里有正数也有负数。

数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。

求所有子数组的和的最大值。要求时间复杂度为O(n)

注:时间复杂度是关键要求。

复制代码
 1 package shuzu;
 2 
 3 import java.util.Scanner;
 4 
 5 public class main {
 6     public static void main(String[] args) {
 7         int n;
 8         int maxsum = 0;
 9         int maxstart = 0;//用于判断子数组是否小于0
10         Scanner in = new Scanner(System.in);
11         System.out.println("输入数组的长度");
12         n = in.nextInt();
13         int num[]=new int[n];
14         System.out.println("输入数组中的值");
15         for(int i = 0;i < n;i++)
16         {
17             num[i] = in.nextInt();
18         }
19         maxsum = num[0];
20         for(int i = 0;i < n;i++)
21         {
22             if (maxstart <= 0) {
23                 maxstart = num[i];
24             }else {
25                 maxstart += num[i];
26             }
27             
28             if (maxsum < maxstart) {
29                 maxsum = maxstart;
30             }
31         }
32         System.out.println("最大值为:" + maxsum);
33     }
34 }
复制代码

 

posted @   ZZKZS  阅读(157)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
/*鼠标跟随效果*/
点击右上角即可分享
微信分享提示