[問題] 特殊賓果的問題
請教各位先進,
給你一個 list, 裡面有六個 sub-list,
每個 sub-list 裡面有六個數字(範圍從1-9)
list 每次隨機生成
舉例:
[ [ 3, 4, 9, 2, 4, 6],
[ 4, 4, 4, 9, 3, 2],
[ 1, 4, 9, 8, 3, 7],
[ 6, 4, 2, 1, 3, 8],
[ 5, 6, 1, 9, 2, 4],
[ 8, 8, 8, 8, 8, 8] ]
目標是計算出連線數,
橫排有3個或以上相同數字的話連線數+1
直排有3個或以上相同數字的話連線數+1
以例子來算的話,連線數是4條 (直的、橫的分開算)
我的想法是先 loop 過 sub-list, 再 loop 過每個數字
可是這樣橫排好解,直排要怎麼計算呢?
ps.我在工作了,這真的不是學校作業~謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 116.87.43.238
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1460655494.A.F87.html
※ 編輯: content71 (116.87.43.238), 04/15/2016 01:38:55
推
04/15 02:25, , 1F
04/15 02:25, 1F
→ tiefblau: 你是以寫程式為職業......
04/15 02:25
我是轉行的網頁工程師,其實平常沒用到什麼邏輯運算,
如果問題蠢了些不好意思~
這題是一個線上的練習題
→
04/15 06:52, , 2F
04/15 06:52, 2F
推
04/15 10:06, , 3F
04/15 10:06, 3F
所以解題的重點是transpose matrix?
→
04/15 15:25, , 4F
04/15 15:25, 4F

目的是3個或以上相同數字的話連線數+1
這樣算的話如果有一排6個相同數字,連線數會+4
→
04/16 09:46, , 5F
04/16 09:46, 5F
→
04/16 09:47, , 6F
04/16 09:47, 6F
→
04/16 09:48, , 7F
04/16 09:48, 7F
這個厲害...不過試跑了一下
這code是計算一排同樣數字有三個以上
而不是"連續"的三個以上
也就是一排如果是 4, 4, 2, 3, 4, 4
也會被算成賓果
回報一下結果,利用transpose matrix解出來的答案
http://imgur.com/Kk9PedF

但程式有點亢長
→
04/17 21:10, , 8F
04/17 21:10, 8F
groupby()的功能我了解,但要怎麼應用在這呢?
→
04/17 23:04, , 9F
04/17 23:04, 9F
→
04/17 23:04, , 10F
04/17 23:04, 10F
→
04/17 23:28, , 11F
04/17 23:28, 11F
→
04/17 23:28, , 12F
04/17 23:28, 12F
感謝回覆
試跑了一下
無法處理一排裡有兩個賓果的狀況
例如 [8,8,8,3,7,7,7,2,1]
跑出來只會有一個賓果
補充一下,題目還滿機的,隨機給的矩陣大小不是固定6x6
→
04/18 17:40, , 13F
04/18 17:40, 13F
改成sum之後就沒有問題了:)
太威了請受我一拜
推
04/20 00:59, , 14F
04/20 00:59, 14F
→
04/20 01:07, , 15F
04/20 01:07, 15F
→
04/20 01:07, , 16F
04/20 01:07, 16F
→
04/20 01:15, , 17F
04/20 01:15, 17F
→
04/20 01:15, , 18F
04/20 01:15, 18F
→
04/20 01:15, , 19F
04/20 01:15, 19F
→
04/20 01:16, , 20F
04/20 01:16, 20F
→
04/20 01:18, , 21F
04/20 01:18, 21F
感謝回覆
其實想像他是寶石方塊的遊戲,三個或以上相連就可以消掉
我猜是題目的本意
※ 編輯: content71 (116.87.43.238), 04/21/2016 04:15:29
Python 近期熱門文章
PTT數位生活區 即時熱門文章