国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

劍指Offer——連續(xù)子數(shù)組的最大和

2019-11-08 02:02:21
字體:
供稿:網(wǎng)友

HZ偶爾會拿些專業(yè)問題來忽悠那些非計算機專業(yè)的同學(xué)。今天測試組開完會后,他又發(fā)話了:在古老的一維模式識別中,常常需要計算連續(xù)子向量的最大和,當(dāng)向量全為正數(shù)的時候,問題很好解決。但是,如果向量中包含負(fù)數(shù),是否應(yīng)該包含某個負(fù)數(shù),并期望旁邊的正數(shù)會彌補它呢?例如:{6,-3,-2,7,-15,1,2,2},連續(xù)子向量的最大和為8(從第0個開始,到第3個為止)。你會不會被他忽悠住?

一種思路,使用兩個循環(huán),分別計算從開始s到結(jié)束e的和,找出最大的數(shù),但是這種解法的時間復(fù)雜度為n*n,不建議。

另一種思路,遍歷一次,當(dāng)前的和小于0時拋棄,因為負(fù)數(shù)不管加什么數(shù),都是變小的,因此重新計算就可以了。

PRivate static int solution(int[] n){ int max=Integer.MIN_VALUE,sum=max; for(int i=0;i<n.length;i++){ if(sum<0){ sum=0; } sum+=n[i]; if(sum>max){ max=sum; } } return max; }
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 呼伦贝尔市| 延边| 双峰县| 孟村| 奈曼旗| 阳谷县| 湖口县| 乌兰县| 图木舒克市| 盐津县| 九江市| 黄冈市| 黄平县| 宁蒗| 敦煌市| 铁岭县| 凉山| 句容市| 通道| 江都市| 六盘水市| 兴安县| 舟曲县| 通州区| 黑山县| 灵台县| 广灵县| 永春县| 会同县| 芒康县| 南木林县| 皋兰县| 徐闻县| 利川市| 通山县| 班戈县| 黄浦区| 日照市| 宜阳县| 洪江市| 泗洪县|