日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

最大连续子段和

發布時間:2025/6/15 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最大连续子段和 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近在學習動態規劃,將自己的所思所想所得記錄下來,檢驗自己是否真正懂了。

?

問題描述:

給定一個數組,記錄一串數字,可正可負,現要求出其中最大的連續子段和。

?

用數組A[N]記錄所要求的數組,用數組B[N]來記錄連續子段和的狀態

通過分析,可以知道:

當B[K]>0時,無論B[K]為何值,B[K]=B[K-1]+A[K]

當B[K]<0時,也就是B[K]記錄到一個A[J]是負的,可以把B[K]變成負的,那么B[J]記錄的這一段應該截掉,應為無論后面的A[K]多大,加上個負數總不可能是最大的子段和,因此將B[K]=A[K],重新開始記錄。

?

故動態轉移方程便可得出

B[K] = MAX(B[K-1]+A[K] , A[K])

?

看個實例

k????? 1????? ?2????? ?3??????? 4
a[k] ?3?????-4???????2????????10
b[k]? 3?????-1?????? 2??????? 12

?

必須記住B[K]是狀態量,要獲得最大連續子段和,只需在數組B中掃描一遍得到最大的數即可。


?一個有N個整數元素的一維數組{A[0],A[1],....,A[N-1],A[N]},這個數組有很多連續的子數組,那么連續子數組之和的最大的一個的值是什么?

? ?先給出一個時間復雜度為O(N^2)的求解程序實現,思想很簡單,就是遍歷數組中所有的子數組,代碼如下:


[java]?view plaincopy
  • /**?
  • ?*?計算數組的最大子序列?
  • ?*?@author?win7?
  • ?*?
  • ?*/??
  • public?class?MaxSubArraySum?{??
  • ??????
  • ????public?static?int?sumN2(int?[]?array){??
  • ????????int?sum=0,maxSum=Integer.MIN_VALUE;??
  • ????????int?n=array.length;??
  • ????????int?count=0;??
  • ????????for(int?i=0;i<n;i++){??
  • ????????????sum=0;??
  • ????????????for(int?j=i;j<n;j++){??
  • ????????????????sum+=array[j];??
  • ????????????????if(sum>maxSum){??
  • ????????????????????maxSum=sum;??
  • ????????????????}??
  • ????????????????count++;??
  • ????????????}??
  • ????????}??
  • ????????System.out.println("length="+n+"||count="+count);??
  • ????????return?maxSum;??
  • ????}??
  • ????public?static?void?main(String?[]?args){??
  • //??????System.out.println("MIN_VALUE="+Integer.MIN_VALUE);??
  • ????????int?[]?array={-5,-2,-3,-5,-3,-2};??
  • ????????int?sum=MaxSubArraySum.sumN2(array);??
  • ????????System.out.println("最大子序列和="+sum);??
  • ????}??
  • ??
  • }??

  • 因為子數組求和滿足動態規劃的后無效特性,所以可以使用動態規劃的思想,從分治的算法中得到提示:可以考慮數組的第一個元素A[0],以及最大的一段數組(A[i],...A[j])跟A[0]之間的關系,有一下幾種情況:

    1.當0=i=j時,元素A[0]元素本身構成和最大的一段;

    2.當0=i<j時,和最大的一段以A[0]開始;

    3.當0<i時,元素A[0]跟和最大的一段沒有關系。

    從上面的三種情況可以將一個大問題(N個元素的數組)轉化為一個較小的問題(n-1個元素的數組)。假設知道(A[1],...,A[N-1])中包含A[1]的和最大的一段的和為start[1]。那么,根據上面分析的三種情況,不難看出(A[0],...,A[N-1])中問題的解all[0]是三種情況的最大值max{A[0],A[0]+start[1],all[1]}。通過問題分析,可以看到問題滿足無后效性,可以使用動態規劃的方法來解決。

    程序代碼實現如下:


    [java]?view plaincopy
  • /**?
  • ?*?在時間復雜度為O(N)內找出數組中最大的子序列的累加和?
  • ?*?@param?array?
  • ?*?@return?
  • ?*/??
  • public?static?int?sumN(int?[]?array){??
  • ????int?n=array.length;??
  • ????int?all=array[n-1],start=array[n-1];??
  • ????int?count=0;??
  • ????for(int?i=n-2;i>=0;i--){??
  • ????????if((start+array[i])>array[i]){??
  • ????????????start=start+array[i];??
  • ????????}else{??
  • ????????????start=array[i];??
  • ????????}??
  • ????????if(all<start){??
  • ????????????all=start;??
  • ????????}??
  • ????????count++;??
  • ????}??
  • ????System.out.println("數組長度="+array.length+"||時間復雜度="+count);????
  • ????return?all; ?

  • 總結

    以上是生活随笔為你收集整理的最大连续子段和的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产成人一区二区三区影院在线 | 日韩精品一区二区电影 | 欧美一级爱爱 | 日本深夜福利 | 在线免费观看日韩 | 亚洲福利视频导航 | 在线不卡免费视频 | 性调教学院高h学校 | 国产精品高潮呻吟视频 | 国产精品图片 | 电影《走路上学》免费 | a视频在线观看免费 | 少妇熟女一区二区 | 九九国产视频 | 国产精品无码自拍 | 国产香蕉97碰碰碰视频在线观看 | 欧美影院久久 | 四虎影视成人永久免费观看亚洲欧美 | 免费av网站大全 | 欧美成人a视频 | 欧美日韩一区二区在线观看 | 99re这里只有精品首页 | 男人操女人下面 | 国产探花精品一区二区 | 99在线免费观看视频 | 男女在线观看视频 | 黄网在线| 中文字幕高清视频 | 久久中文字幕在线 | 中文精品一区二区三区 | 天堂在线观看免费视频 | 国内久久久 | 色婷婷精品久久二区二区密 | 欧美视频在线观看一区二区 | 久草在现| 色哟哟中文字幕 | 久久久久久九九九九九 | 欧美三个黑人玩3p | www,xxx69 japan | 丰满秘书被猛烈进入高清播放在 | 日韩一区二区三区在线免费观看 | 中文字幕一区二区三三 | 妓院一钑片免看黄大片 | av日韩精品 | 欧美无遮挡高潮床戏 | 久久艹免费视频 | 无码国产精品一区二区免费16 | 日韩精品视频在线播放 | 日韩久久成人 | 一级黄色片国产 | 人妻天天爽夜夜爽一区二区三区 | 男人的天堂网在线 | 欧美精品一区二区在线观看 | 黑人精品一区二区三区不 | 成人免费看高清电影在线观看 | 99热播精品 | 五十路在线 | 国产av一区二区三区最新精品 | 国产福利资源 | 乱熟女高潮一区二区在线 | 粉嫩小箩莉奶水四溅在线观看 | 亚洲欧洲日产av | 青青福利视频 | 国产热99 | 在线黄色免费 | 久久久午夜影院 | 亚洲最大的网站 | 日本精品视频一区二区三区 | 男女吻胸做爰摸下身 | 夜夜操夜夜爽 | 亚洲伊人成人网 | 综合亚洲网| 国产又色又爽 | 免费精品视频在线 | 99久久久久久久 | 黄色片免费播放 | 91精品区 | 亚洲精品乱码久久久久久蜜桃图片 | 亚洲av激情无码专区在线播放 | 国产91久久精品一区二区 | 亚洲天堂av影院 | 蜜桃va | 免费观看nba乐趣影院 | 天天躁日日躁狠狠躁 | 嫩草视频在线 | 蜜桃精品久久久久久久免费影院 | 一区不卡视频 | 亚洲色成人www永久在线观看 | 少妇太爽了太深了太硬了 | 日韩精品亚洲精品 | 性色视频在线观看 | 国产黄色片在线免费观看 | 色哟哟中文字幕 | 日韩欧美中文字幕一区二区 | 天天干天天爽天天操 | 性猛交ⅹxxx富婆video | 激情综合五月天 | 日本免费三区 | 亚洲国产欧美一区二区三区深喉 |