zoukankan      html  css  js  c++  java
  • 循环列表下练习循环子数组

    这道题主要是在求最大整数数组的基础上实现循环数组的实现

    主要是基于两个问题:如何解决循环和如何解决求最大子数组

    我解决循环的办法就是将数组长度扩大到两倍

    最大子数组就是用动态规划

    下面是java代码:

    package com.math.begin;
    
    import java.util.Scanner;
    
    import org.omg.CosNaming.IstringHelper;
    
    public class over {
        private static int max(int ans, int i) {
            // TODO Auto-generated method stub
            if(ans>=i) {
                return ans;
            }
            else
            return i;
        }
        public static void main(String[] args) {
             Scanner sc = new Scanner(System.in);
             int num=4;
             int[] list = new int[num];      //创建一个数组存放数据
             System.out.println("请输入"+num+"个数据");
             for (int i = 0; i < num; i++) { //把数据写进数组中
                    list[i] = sc.nextInt();
             }
             if(list[num-1]+list[0]>list[0]) {
             list[0]+=list[num-1];
             //System.out.println(list[0]);
             for(int i=1;i<num-1;i++)
             {
                 if(list[i]+list[i-1]>list[i])
                     list[i]=list[i]+list[i-1];
             }
             int ans=-100000;
             for(int i=1;i<num;i++)
                 ans=max(ans,list[i]);
             System.out.println(ans);
             }
             else {
                 for(int i=2;i<num-1;i++)
                 {
                     if(list[i]+list[i-1]>list[i])
                         list[i]=list[i]+list[i-1];
                 }
                 int ans=-100000;
                 for(int i=1;i<num;i++)
                     ans=max(ans,list[i]);
                 System.out.println(ans);
                 } 
             }
        }
  • 相关阅读:
    Delphi中Chrome Chromium、Cef3学习笔记(五)
    java ->IO流_File类
    java ->递归
    java-> 分包分层
    java ->JDBC
    java -> 异常类与自定义异常
    java ->斗地主洗牌
    java -> map接口
    java ->Set接口
    java -> List接口
  • 原文地址:https://www.cnblogs.com/studya/p/12455464.html
Copyright © 2011-2022 走看看