[問題] 所有比賽結果(大數據)
因為有在看棒球 想寫一支小小程式看一下比賽結果
規則是這樣,目前有 A, B, C, D 四隊比賽
假設 A 目前贏 10 場
B 目前贏 11 場
C 目前贏 10 場
D 目前贏 11 場
每一隊都有可能與其他三支隊伍比賽
而剩下的場次有 30 場以上,每一次勝負假設都一半一半
如果單純用 2^30 = 1073741824 (十億種可能)
最後要看 A 隊獲勝 > B,C,D 才算獲勝
我是用一個 array list 去存現在結果,目前是 (獲勝) = 10,11,10,11
假設下一場是 A vs B,則結果就會變成
11,11,10,11 (A 獲勝)
10,12,10,11 (B 獲勝)
下下一場假設是 A vs C,因為要根據上一輪的結果去排列組合就會變成四種可能
11,11,10,11 (第一場是 A 獲勝)
--> 12,11,10,11 與 11,11,11,11
10,12,10,11 (第一場是 B 獲勝)
--> 11,12,10,11 與 10,12,11,11
這樣排列組合就有四種結果
我想問的是,因為比賽還剩 30 場總共有 2^30 這麼多種可能 (應該算大數據計算吧) @@
一定會 out of memory,有嘗試過加參數 -Xmx4096m 但是一樣會太大
有沒有大大知道要怎麼改良這種算法比較好的?
上網不知道要怎麼查關鍵字...
查詢 game, all result 或其他關鍵字都跑出程式比賽結果
先謝謝知道的大大了
(呃... 不知道有沒有人懂我想問的東西 orz)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.52.214
※ 文章網址: https://www.ptt.cc/bbs/java/M.1433085100.A.F24.html
※ 編輯: Lavchi (49.215.186.81), 05/31/2015 23:15:49
→
05/31 23:17, , 1F
05/31 23:17, 1F
→
05/31 23:17, , 2F
05/31 23:17, 2F
→
05/31 23:18, , 3F
05/31 23:18, 3F
簡單說我想列出現在中華職棒四支隊伍打到最後 每一隊獲勝的機率
目前四隊獲勝分別為 (21, 26, 20, 24) 這四種
有想過大約計算 類似 K 大堤的概念,但感覺又不是很精準
總覺得應該有方法可以有效率的精準算出實際每一隊獲勝的可能
至少我的方法是非常沒有效率的算法 orz
※ 編輯: Lavchi (49.215.186.81), 05/31/2015 23:21:35
另外就是有球隊 B 與 C 有和局的狀況發生
所以最後的情況一定要
A 獲勝 > B 才算獲勝,如果最後的獲勝次數是 A = B 則判定 B 獲勝
A 與 C 一樣,因為 C 有和局在身,一定要 A > C 才算獲勝
而 A 與 D 因為都沒有和局在身,所以如果是 A = D 的況狀,則要多加開一局比出勝負
呃... 好像有點複雜 orz
※ 編輯: Lavchi (49.215.186.81), 05/31/2015 23:26:28
→
05/31 23:35, , 4F
05/31 23:35, 4F
→
05/31 23:36, , 5F
05/31 23:36, 5F
→
05/31 23:42, , 6F
05/31 23:42, 6F
→
05/31 23:42, , 7F
05/31 23:42, 7F
→
05/31 23:42, , 8F
05/31 23:42, 8F
推
06/01 01:32, , 9F
06/01 01:32, 9F
→
06/01 01:33, , 10F
06/01 01:33, 10F
→
06/01 01:33, , 11F
06/01 01:33, 11F
推
06/01 07:49, , 12F
06/01 07:49, 12F
→
06/01 23:08, , 13F
06/01 23:08, 13F
推
06/01 23:13, , 14F
06/01 23:13, 14F
→
06/02 03:03, , 15F
06/02 03:03, 15F
推
06/02 11:01, , 16F
06/02 11:01, 16F
推
06/02 22:49, , 17F
06/02 22:49, 17F
推
06/07 12:14, , 18F
06/07 12:14, 18F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):
6
18
java 近期熱門文章
PTT數位生活區 即時熱門文章