zoukankan      html  css  js  c++  java
  • 数组和

    1.实现功能
      求一个数组的最大子数组和,时间复杂度为O(n)。
    2.实验代码
    package shuzu; import java.util.Random; import java.util.Scanner; public class bb { public static void main(String[] args) { // TODO Auto-generated method stub int a[]; int i,g,b=0,c=0; Scanner scanner = new Scanner(System.in); System.out.print("输出随机产生的数组的长度:"); g=scanner.nextInt(); a=new int[g]; scanner.close(); for(i=0;i<g;i++) { Random random = new Random(); a[i]=random.nextInt(19); a[i]=a[i]-9; System.out.print(a[i]); System.out.print(" "); } System.out.println(" "); for(i=0;i<g;i++) { b=b+a[i]; if(b>c) { c=b; } if(b<0) { b=0; } System.out.print(b); System.out.print(" "); } System.out.println(); System.out.println(c); } }

    3.结果截图

    4.队员

    5.实验思路  

    从第一位开始累加,当累加和小于零时,设置为零,从下一位开始继续累加。并记录所有的累加和,取最大。如果最大和为零说明所有数均为负,直接取数组中的最大值做最大和。1000位不是问题,int32也不是问题。

  • 相关阅读:
    JS继承
    Liunx 常用命令2
    团队作业(四)
    OpenEuler树莓派基础实验(无树莓派)
    thread同步测试
    团队作业(三)
    实验二测试
    浅谈JWT。
    monolog使用 brady
    Blazor Server获取Token访问外部Web Api
  • 原文地址:https://www.cnblogs.com/feifeishi/p/4387361.html
Copyright © 2011-2022 走看看