java 求最大子序列的原理?
求最大子序列的原理?在這個(gè)掃描陣列中,從左到右記錄當(dāng)前子序列和這個(gè)和的總和。如果此和持續(xù)增加,則最大子序列和maxsum的和也會(huì)增加(maxsum會(huì)持續(xù)更新)。如果在正向掃描中遇到負(fù)數(shù),則當(dāng)前子序列的
求最大子序列的原理?
在這個(gè)掃描陣列中,從左到右記錄當(dāng)前子序列和這個(gè)和的總和。如果此和持續(xù)增加,則最大子序列和maxsum的和也會(huì)增加(maxsum會(huì)持續(xù)更新)。
如果在正向掃描中遇到負(fù)數(shù),則當(dāng)前子序列的總和將減小。
此時(shí),thissum將小于maxsum,當(dāng)然maxsum不會(huì)更新。
如果thissum降為0,則表示可以丟棄先前掃描的段。此時(shí),thissum設(shè)置為0。
然后,thissum將從以下內(nèi)容分析此子段。如果存在大于當(dāng)前最大和的子段,請繼續(xù)更新最大和。
掃描結(jié)果出來了。