一串?dāng)?shù)字,求其中連續(xù)的10個(gè)數(shù)字最大的和的算法

2022-11-03 05:45

數(shù)字記錄有上萬(wàn)條,我要求其中連續(xù)的10個(gè)數(shù)字(也可能是20個(gè)、30個(gè)等等)的最大和,求快捷高效的算法,求各位大神賜教最好是用C#書寫的算法
1個(gè)回答
你這個(gè)問(wèn)題如另個(gè)一個(gè)哥們兒說(shuō)的那樣,性能優(yōu)化空間不大,有n個(gè)數(shù)字,至少要比較n次,不過(guò)我還是優(yōu)化了下,盡可能的減少求和的次數(shù)與個(gè)數(shù)。所有的循環(huán)都是序號(hào)的比較,最后找出最大序列的index后,再求和。

我用js寫的,這里沒(méi)用什么特別語(yǔ)法,你稍微改下有var的地方就能換到c#了。最后面是一個(gè)html版本,保存為html文件可以在瀏覽器運(yùn)行。先貼核心代碼

var?data?=?[1,32,2,5,65,33,12,56,5,9,32,33,12,67,65,2,6];//設(shè)置數(shù)字序列
var?interval?=?5;//設(shè)置連續(xù)數(shù)長(zhǎng)度
var?maxindex?=?0;

for(var?i=1,len?=?data.length?-?interval?-1;i?
var?space?=?(?i?-?maxindex?)>interval???interval?:?(i?-maxindex);
var?sum1=0,sum2=0;
for(var?j?=?maxindex?;j sum1?+=?data[j];
}

for(var?j?=?i+interval-1;j>i+interval-1-space;j--){
sum2?+=?data[j];
}

if?(sum2?>?sum1){
maxindex?=?i;
}

}

var?maxsum?=?0;
for(var?i?=?maxindex?;i maxsum?+=?data[i];
}

alert(maxindex?+?"/"?+?maxsum);
--------------------------------------------------------------------------------






var?data?=?[1,32,2,5,65,33,12,56,5,9,32,33,12,67,65,2,6];//設(shè)置數(shù)字序列
var?interval?=?5;//設(shè)置連續(xù)數(shù)長(zhǎng)度
var?maxindex?=?0;

for(var?i=1,len?=?data.length?-?interval?-1;i?
var?space?=?(?i?-?maxindex?)>interval???interval?:?(i?-maxindex);
var?sum1=0,sum2=0;
for(var?j?=?maxindex?;j sum1?+=?data[j];
}

for(var?j?=?i+interval-1;j>i+interval-1-space;j--){
sum2?+=?data[j];
}

if?(sum2?>?sum1){
maxindex?=?i;
}

}

var?maxsum?=?0;
for(var?i?=?maxindex?;i maxsum?+=?data[i];
}

alert(maxindex?+?"/"?+?maxsum);





相關(guān)問(wèn)答
《一串快樂(lè)的音符》續(xù)寫。
1個(gè)回答2024-02-09 20:55
那串小音符繼續(xù)跳著、唱著。它們又在墻角發(fā)現(xiàn)了一個(gè)小女孩,看得出,她很孤單,也有點(diǎn)失落。小音符們走近問(wèn)她發(fā)生了什么事?“我被爸爸媽媽拋棄了!”這是小音符們沒(méi)有想到的?!拔蚁胛也荒懿还苓@事了!”熱心腸...
全文
一串快樂(lè)的音符續(xù)編
1個(gè)回答2024-02-01 16:09
小音符們每天都給老奶奶聽老爺爺聽的歌曲,老奶奶很開心。她一聽這首歌就感覺老爺爺就在她身邊。小音符們看見老奶奶高興的樣子,心里也很開心。
網(wǎng)紅的10元30串小串串都是靠什么賺錢?
2個(gè)回答2023-10-21 14:45
商家永遠(yuǎn)都是不會(huì)吃虧的,那種串串估計(jì)成陵猜本是很低的,低到難以想象,也可能是商家一開始,是為了招攬顧客,一開始尺頃型可能是賠本買,可是后來(lái)就不是了,可能會(huì)提生一定量的價(jià)格,或者在飲料方面的,乎滑價(jià)格會(huì)...
全文
10塊錢的故事(續(xù))
1個(gè)回答2023-11-12 14:28
挺好,恭喜發(fā)財(cái)!
算數(shù)(很簡(jiǎn)單,我懶的算了,10分)
1個(gè)回答2024-10-17 03:06
直接用求根公式 a=1,b=-根號(hào)6/2,c=1/4 所以△=b2-4ac=3/2-1=1/2 所以a=(根號(hào)6/2±根號(hào)2/2)/2 =(根號(hào)6±根號(hào)2)/4
10年有個(gè)金曲串燒叫什么
1個(gè)回答2023-10-22 02:46
10年有個(gè)金曲串燒叫做《2010年度熱門金曲》。這個(gè)串燒是由著名音樂(lè)人陳小霞制作的,悉則包括了當(dāng)年最熱門的十幾首歌曲,如李宇春的《想你的夜》、王力宏的《心跳》、周杰倫的《說(shuō)好的幸福呢》等等。這個(gè)串燒的...
全文
圓周率已經(jīng)算到10萬(wàn)億位了,為什么還要繼續(xù)下去?
3個(gè)回答2023-06-04 23:50
因?yàn)檫@是一項(xiàng)比較有深度的研究,算的越高,對(duì)以后的科學(xué)研究就越有幫助。
5串1,中了4場(chǎng),有1場(chǎng)比賽取消了,怎么算
1個(gè)回答2022-11-22 20:54
不是的。要猜對(duì)4場(chǎng)
續(xù)寫三年級(jí)第10棵《風(fēng)箏》
1個(gè)回答2024-02-25 05:26
盡管斷了線的風(fēng)箏并沒(méi)有被我們的摯著而感動(dòng),也聽不見我們的揪心的呼喚,我們這些孩子哦,空有了一腔的摯著又有什么用?早知這樣,我們不這么玩命地奔跑,不從早晨玩到下午也歇不下來(lái),我們盡興而不過(guò)頭,不失去理智...
全文
我想算命;我是農(nóng)歷10月15出生我想算算我的事業(yè)和婚姻
1個(gè)回答2022-10-10 10:35
先報(bào)個(gè)出生時(shí)辰
熱門問(wèn)答