快速业务通道

Java箔方怏嶄銭偬n倖圷殆聞凪才恷寄 - 園殻秘壇利

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20

Java箔方怏嶄銭偬n倖圷殆聞凪才恷寄

扮寂:2011-01-22 javaeye yoyo08

公協匯倖方怏?箔竃方怏嶄銭偬議匯乂圷殆聞凪才議峙恷寄。泌惚侭嗤圷殆脅葎屎方??隼屁倖方怏軸葎侭箔議。泌惚侭嗤圷殆議峙葎減方?夸侭箔議恷寄峙葎0.

宸頁壓園殻帷艨貧心欺議?凪扮寂鹸墫業喇O(n3)受葎O(n)阻。

java旗鷹

package cn.lifx.test; public class MaxSum {   public static void main(String[] args)   {   int[] arr = new int[]{31, -41, 59, 26, -53, 58, 97, -93, -23, 84};   MaxSum ms = new MaxSum();   ms.Max(arr);   ms.Max2(arr);   ms.Max3(arr);   int max = ms.Max4(arr, 0, arr.length-1);   System.out.println("Max sum is " + max);   ms.Max5(arr);   }   //圭隈1: 扮寂鹸墫業葎O(n*n*n)   public void Max(int[] arr)   {   int max = 0;   int sum = 0;   int left = -1;   int right = -1;   for(int i=0; i<arr.length; i++)   {    for(int j=i; j<arr.length; j++)    {    sum = 0;    for(int k=i; k<=j; k++)    {     sum = sum + arr[k];    }    if(sum > max)    {     left = i;     right = j;     max = sum;    }    }   }   if(right > 0)   {    System.out.println("Max is from element " + left + "(" + arr[left] + ") to element " + right + "(" + arr[right] + "), max sum is " + max);   }   else   {    System.out.println("Max sum is 0 .");   }   }   //圭隈2?扮寂鹸墫業葎O(n*n)   public void Max2(int[] arr)   {   int max = 0;   int sum = 0;   int left = -1;   int right = -1;   for(int i=0; i<arr.length; i++)   {    sum = 0;    for(int j=i; j<arr.length; j++)    {    sum = sum + arr[j];    if(sum > max)    {     left = i;     right = j;     max = sum;    }    }   }   if(right > 0)   {    System.out.println("Max is from element " + left + "(" + arr[left] + ") to element " + right + "(" + arr[right] + "), max sum is " + max);   }   else   {    System.out.println("Max sum is 0 .");   }   }   //圭隈3?扮寂鹸墫業葎O(n*n)   public void Max3(int[] arr)   {   int max = 0;   int sum = 0;   int left = -1;   int right = -1;   int[] temp = new int[arr.length+1];   temp[0] = 0;   for(int i=0; i<arr.length; i++)   {    temp[i+1] = temp[i] + arr[i];   }   for(int i=0; i<arr.length; i++)   {    for(int j=i; j<temp.length; j++)    {    sum = temp[j] - temp[i];    if(sum > max)    {     left = i;     right = j-1;     max = sum;    }    }   }   if(right > 0)   {    System.out.println("Max is from element " + left + "(" + arr[left] + ") to element " + right + "(" + arr[right] + "), max sum is " 

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号