zoukankan      html  css  js  c++  java
  • 个人作业环形数组求最大子数组和

        1.问题:大体和前两次的相同,就是把数组首尾相连形成一个环形。

        2.思路:这个问题大体和第一个问题的处理方法是一样的,就是这个数组里的每一个数都可以当做首尾,所以我就用一个循环吧数组的每一个数都往后移,最后一个当做第一个。直到每一个数组都做过第一位,就完成了。这样就会得到n个数组,每一个数组都会有一个子数组的最大值。比较就得到了最大的那个值。

        3.源代码:

    package shuzhu;
    
    import java.util.*;
    
    public class shuzhu {
    	 public static void main(String[] args)
         {
    	 Scanner input=new Scanner(System.in);
         System.out.print("请输入数组中数的个数:");
         int num=input.nextInt();
         int max=0;
         int maxx=0; 
         int a[]=new int[num]; 
     
         for(int i=0;i<num;i++)//循环生成num个随机数
         {   
             if((int)(Math.random()*2)==0)//先从0或1之间生成一个数,进而决定这个数的正负
            {
                a[i]=(int)(Math.random()*20);
            }
             else
             {
                 a[i]=-(int)(Math.random()*20);
             }
         }
         
         for(int p=0;p<num;p++)
         {
        
    	 int w=a[0];
    	 for(int i=0;i<num-1;i++)
    	 {
    		 a[i]=a[i+1];
    	 }
    	 a[num-1]=w;
        
    	 System.out.println("
    ");
         for(int i=0;i<num;i++)//循环输出生成的num个随机数
         {
        	 
            System.out.println(a[i]);
        }
    	 for(int b=0;b<num;b++)//最外层循环控制这个子数组的头
    	 {
    		for(int c=b;c<=num;c++)//中层循环控制这个子数组的尾
    		{
    			int sum=0;
    			for(int d=b;d<c;d++) //内层循环从头加到尾
    			{
    				 
    				 sum=sum+a[d];
    				
    				if(max<=sum)//通过比较把最大的子数组和赋给max
    				{
    					max=sum;
    				}
    			}
    		}
    	 }
         
    	System.out.print("该子数组和的最大值为:"+max);
    	  if(maxx<=max)
    			{
    				maxx=max;
    			}
    	     
         }
         System.out.println("
    ");
         System.out.print("总子数组和的最大值为:"+maxx);
         }  
         }

      4.测试截图

  • 相关阅读:
    HDU 1015(字符运算 **)
    IOS7中自动计算label的宽度和高度的方法
    IOS开发UI基础文本属性Attributes
    IOS开发UI基础UIControl事件
    IOS开发UI基础UIImagePickerController的属性
    IOS开发UI基础UITableView的属性
    IOS开发UI基础UIActivityIndicatorView的属性
    IOS开发UI基础 UIAlertView的属性
    IOS开发UI基础UIImageView属性属性
    IOS开发UI基础 UIDatePicker的属性
  • 原文地址:https://www.cnblogs.com/xuange1/p/10589952.html
Copyright © 2011-2022 走看看