Re: [問題] 連續整數,找出乘積最大?
※ 引述《polomoss (小澤)》之銘言:
: 其實已經跟JAVA的語法沒有什麼相關~但JAVA版高手眾多
: 且不知道去哪問,如果違反版規,或有更適合的地方我自D
: 大概就是
: 使用者給一串整數,要找出它"連續",且乘積最大者
: 例如:
: 5 -2 1 -1 最大 5*-2*1*-1
: -1 2 5 最大 2*5
: 大概是這樣
: 不知道有沒有高手可以跟我講想法
: 大概要往哪方面想,或如何著手(不用附上程式碼)
: 我只是腦筋有點轉不過來~~不過這跟資料結構好像比較有關係
: 不知道要怎麼去跑這個收尋
恩 我的想法是 :
把輸入的數 分成5群 : A : {X|X<=-1} = { a1, a2, ... , an } , |A|=N
where a1 <= ... <= an
B : {X|-1<X<1}
C : {X|X>=1} = { c1, c2, ... ,cn} , |C| = M
然後 答案就是 : if ( N 是奇數 ){
N-1 M
ans = Π Ai * Π Ci ; }
i=1 i=1
else {
N M
ans = Π Ai * Π Ci; }
i=1 i=1
m
* Π Ai = An * A(n+1) * A(n+2) * ... * Am
i=n
恩恩 應該這是你要的答案的算法~~ 其中會有把資料做排序的( sorting )~~
跟做分群的(這應該用一堆 if-else 和 array 可以處理) 方法
以上是我的想法 雖然沒有提供啥資料結構或是扣的 (汗)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.103.140
※ 編輯: cai7773 來自: 140.116.103.140 (05/14 19:42)
推
05/14 21:00, , 1F
05/14 21:00, 1F
→
05/14 21:13, , 2F
05/14 21:13, 2F
推
05/14 23:03, , 3F
05/14 23:03, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 5 之 12 篇):