zoukankan      html  css  js  c++  java
  • 课堂练习

    思路:

             求循环数组的最大子数组,相当于将数组重复两遍,然后再求出这个重复两遍的数组求出它的最大子数组即可。这个题目的实质是弄清楚循环数组求最大子数组即是讲所有数组重复一遍然后再用一般的方法求最大子数组。

    具体代码:

    package example1;
    
    import java.util.Scanner;
    public class example1 {
        public static void main(String args[]){
            int num;
            Scanner in = new Scanner(System.in);
            System.out.println("输入数组中元素的个数:");
            num = in.nextInt();
            int []a = new int[num]; //定义数组a
            for(int i = 0;i < num;i ++)
            {
                a[i] = (int)(Math.random()*30 - 10); //产生的随机数范围在-10 - 10
            }
            System.out.println("产生的数组元素的值为:");  
            for(int i = 0;i < num;i ++){
                System.out.print(a[i] + " ");
            }
            System.out.print("
    ");
            int []b = new int[a.length*2];  //定义一个数组b,b中的元素为a中元素重复两次
            System.out.println("生成的环形数组为:");
            for(int i = 0;i < b.length;i ++){
                b[i] = a[i % a.length];
                System.out.print(b[i] + " ");
            }
            System.out.print("
    ");
             
            int sum = b[0],temp = b[0];//将数组最大值初始为b数组中第一个元素
            int s = 0;
            int i = 1;
            while(i < b.length / 2 + s)
            { 
                temp = temp + b[i];
                if(temp < b[i])
                {
                    temp = b[i];
                    s = i;
                }
                if(temp > sum)
                {
                    sum = temp;
                }
                i ++;
            }
            System.out.println("最大的子数组为:" + sum);
        }  
    }

    运行截图:

                                                                        

  • 相关阅读:
    Druid数据库密码加密
    jenkins 构建时不能自动结束的问题
    4、TypeScript 类
    3、TypeScript 函数
    2、Typescript 中的数据类型
    1、TypeScript安装、开发工具
    Markdown 基本格式
    解决邮箱下载下来的word打不开的问题
    winform在禁用控件上显示工具提示
    日常问题集
  • 原文地址:https://www.cnblogs.com/overs/p/6652992.html
Copyright © 2011-2022 走看看