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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

求数组的子数组之和的最大值

發布時間:2025/4/16 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 求数组的子数组之和的最大值 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一個有N個整數元素的一維數組( A[0], A[1], ... , A[n-2], A[n-1]),子數組之和的最大值是什么?(要求子數組的元素是連續的)

例子:有數組( -2, 5, 3, -6, 4, -8, 6),則其子數組之和的最大值為8,其對應的數組為(5,3)


解法一:采用直接法,記Sum[i...j],為數組A中從第i到第j之間所有數之和,算出所有Sum,取其最大,代碼如下,時間復雜度O(N2):

int maxSum1(int *A, int n) {int max = -1;int i, j, sum;for(i = 0; i < n; i++){sum = 0;for(j = i; j < n; j++){sum += A[j];if(sum > max )max = sum;}}return max; }

解法二:使用分治法,數組(A[0],A[1],...A(n-1)分為長度相等的兩段數組(A[0],...,A[n/2-1])以及(A[n/2],...,A[n-1]),分別求出這兩段數組各自的最大子段和,則原數組(A[0],A[1],...A(n-1)的最大子段和分為3種情況

1).(A[0],A[1],...A(n-1)的最大子段和與(A[0],...,A[n/2-1])的相同

2).(A[0],A[1],...A(n-1)的最大子段和與(A[n/2],...,A[n-1])的相同

3).(A[0],A[1],...A(n-1)的最大子段和跨過(A[0],...,A[n/2-1])與(A[n/2],...,A[n-1])-

1)和2)可以根據遞歸可得,3)只要計算出以A[n/2-1]為結尾的一段數組最大和s1=Sum1[i...n/2-1]和A[n/2]為開頭一段數組最大和s2=Sum2[n/2...j],最后s=s1+s2.

這個算法滿足分值算法遞歸,總的時間復雜度O(N*log2N)

解法三: 假設我們已經知道(A[k].....A[n-1])最大的一段數組和為All[k],并且已經計算出在(A[k].....A[n-1])中包含A[k]的最大的一段數組和為Start[k],那么可以推斷出All[k-1]=max{A[k-1],A[k-1]+Start[k],All[k]},利用 動態規劃思想 以及這樣的遞推公式,從后往前計算,代碼如下,時間復雜度O(N):

int max(int x, int y) {return (x > y) ? x : y; }int maxSum2(int *A, int n) {int i;int All[n], Start[n];All[n-1] = A[n-1];Start[n-1] = A[n-1];for(i = n-2; i >= 0; i--){Start[i] = max(A[i], A[i]+Start[i+1]);All[i] = max(All[i+1], Start[i]);}return All[0]; } 對以上代碼進行簡化,因為最后所求到的變量只有Start[0]和All[0],這樣可以反復用nStart和nAll,省略掉其他的變量,代碼如下

int max(int x, int y) {return (x > y) ? x : y; }int maxSum2_v(int *A, int n) {int i;int nAll, nStart;nAll = A[n-1];nStart = A[n-1];for(i = n-2; i >= 0; i--){nStart = max(A[i], A[i]+nStart);nAll = max(nAll, nStart);}return nAll; }


總結

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

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

主站蜘蛛池模板: 国产精品无码白浆高潮 | 在线视频观看一区二区 | 性久久久久久久久久 | 男女插插插视频 | 加勒比伊人 | 凹凸福利视频 | 伊伊综合网| 欧美精品在线一区二区三区 | 天天摸日日 | 久久成人免费电影 | 国产精品久久久一区 | 国产电影一区二区三区爱妃记 | 91视频色 | 国产精品99久久久久久www | 欧洲美熟女乱又伦 | 九九视频免费看 | 黄色小视频免费 | 日韩sese| 精品国产伦一区二区三区免费 | 成人免费视频播放 | 已满十八岁免费观看全集动漫 | 伊人久久久久久久久久久久久 | 亚洲激情偷拍 | 日韩激情成人 | 岳乳丰满一区二区三区 | 成人免费视频一区二区 | 精品国产一二三 | 亚洲成在线 | xxxwww在线观看| 91tv在线观看 | 久久久福利视频 | 日日夜夜国产精品 | 欧美在线视频网站 | 黄色免费在线观看视频 | 青娱乐青青草 | 无码精品一区二区三区在线 | 国产91av在线播放 | 黄色美女免费网站 | 久久四色 | www.狠狠爱| 中文字幕国内自拍 | 在线精品视频免费观看 | 在线免费观看国产视频 | 青青操av在线 | 欧美精品一区在线观看 | 国产性生活视频 | 九九久久国产 | 麻豆精品久久久久久久99蜜桃 | 久久久久人妻一区二区三区 | 欧美一区二区性久久久 | 老熟妇一区二区 | 男人天堂欧美 | 国精产品99永久一区一区 | 亚洲精品国产美女 | 国产乱了高清露脸对白 | 肉感丰满的av演员 | 床戏高潮做进去大尺度视频网站 | 日批视频在线免费看 | 伊人久久成人 | 亚洲第一免费 | 新版天堂资源中文8在线 | 日韩国产欧美综合 | 国产精品无码乱伦 | 亚洲自拍av在线 | 18我禁在线观看 | 亚洲图片欧美色图 | 免费无遮挡在线观看视频网站 | 亚洲中文字幕一区二区 | 黄色免费网站观看 | a毛片在线观看 | 中文字幕一区二区三区精彩视频 | 欧美精品五区 | 黄色片在线观看视频 | 性感美女毛片 | 中文字幕人妻熟女人妻a片 麻豆91视频 | 国产免费专区 | 亚洲热在线 | 97香蕉视频| 热久久中文 | 印度毛茸茸 | 三a大片 | 136fldh导航福利微拍 | 人妻丰满熟妇aⅴ无码 | 亚洲欧美一区二区三区四区 | 青青草免费观看 | 视频一二区 | 国产日韩欧美专区 | 在线观看免费视频一区二区 | 日日夜精品 | 亚洲免费观看高清 | 亚洲福利天堂 | 成人av网址在线 | 日韩精品毛片 | 手机在线亚洲 | 自拍偷拍一区 | xxx一区二区| 日韩免费影院 | 伊人影院在线观看视频 | 69色视频 |