今日总结:3.11课堂小测(一维数组的最大子数组的和(整数))

 

 

 

 

 

 

package test;
import java.util.*;
public class Test {

 

public static void main(String[] args) {
Scanner sc=new Scanner(System.in);

int i,j,k=0,z=0,flag=0,max=0;
int sum=sc.nextInt();
int[] array=new int[sum];
for(i=0;i<sum;i++)
{
array[i]=sc.nextInt();
}
max=array[0];
for(i=0;i<sum;i++)
{

for(j=i;j<sum;j++)
{
k+=array[j];
if(k>max)
{
flag=1;
max=k;
}
}
k=0;
}
System.out.println(max);
}

}

 本次时间复杂度为 n^2

思路:先大循环进行从首到尾的占位,及内循环的起始位置。在内循环中,从首位到末尾之前的每一位进行求和,得出最大的值交给max。再进行大循环的占位(改变内循环的起始位置)。这样可以得出所有的求和的值,最终得出子数组最大的值。

posted @   stdrush  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示