討論串[問題] 連續整數相乘,求乘積最大?
共 6 篇文章
首頁
上一頁
1
2
下一頁
尾頁

推噓10(10推 0噓 6→)留言16則,0人參與, 最新作者polomoss (小澤)時間16年前 (2008/05/14 23:16), 編輯資訊
2
0
0
內容預覽:
希望大大給點想法,今天寫題目的時候卡住了~. 講的越詳細越好~~. 使用者給一串整數,要找出它"連續",且乘積最大者. 例如:. 5 -2 1 -1 最大 5*-2*1*-1 = 20. -1 2 5 最大 2*5 = 10. 1 2 0 -3 -1 最大 -3*-1 = 3. 大概是這樣~~. 先

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者march20時間16年前 (2008/05/15 18:40), 編輯資訊
0
0
0
內容預覽:
遞迴式給你, 如果看不懂可能得回去翻翻 dynamic programming 那一章了 :P. 令 a(i) 為第 i 個數字, i = 1 ~ n. P(i) 為結束在 a(i) 的連續數列中, 最大正值乘積. 可為零. 如果不存在, 記作 Orz. N(i) 為結束在 a(i) 的連續數列中,
(還有507個字)

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者bleed1979 (十三)時間16年前 (2008/05/15 22:55), 編輯資訊
0
0
1
內容預覽:
這方法比較笨而且慢. 關鍵在於開始乘的起點. 比如 0 0 1 2 3 -1 3 4 5 -2 1 來說好了. 一開始begin當然是0. 1.如果乘數為0 begin加1. 2.如果乘數是正數 begin加1 並標明begin更動過. 3.如果乘數是負數. 第一次碰到負數. 將之前的乘積丟到vec
(還有2300個字)

推噓2(2推 0噓 3→)留言5則,0人參與, 最新作者netsphere (我需要人陪我)時間16年前 (2008/05/16 15:37), 編輯資訊
0
0
0
內容預覽:
科科 給你一個 簡單 又 快 (好像在那裡也講過!?) 的演算法. O(n^2) ( 不知道有沒有可能可以降到O(n) ). #include <stdlib.h>. #include <stdio.h>. int array[]={0,0,1,2,3,-1,3,4,5,-2,1}; //從這裡輸入
(還有530個字)

推噓0(0推 0噓 2→)留言2則,0人參與, 最新作者aknow (嘎嘎)時間16年前 (2008/05/19 10:09), 編輯資訊
1
0
0
內容預覽:
上面的都對. 不過在這問題裡有個很重要的地方. 那就是. 不看正負號的話, 整數都是越乘越大!!!. 所以大略是. 只要簡單找一段偶數個負號. 然後讓這段越長就越好. 不考慮一些boundary condition. 只提大概. 方法如下. 看到0就切斷 O(n). 所以現在有一段段沒有0的. 對於
(還有71個字)
首頁
上一頁
1
2
下一頁
尾頁