[問題] 請問關於遞迴的問題(求講解)(補圖)
小弟練習一個例題
這個例題的目的是計算陸地的尺寸
但不重複計算
我左看右看完全不知道他到底是如何計算的
或是為什麼在if那邊要用[y] [x] != 'land'
等等的
請問有人可以完整的幫我解釋一下嗎?
謝謝您!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.172.82.241
※ 文章網址: http://www.ptt.cc/bbs/Ruby/M.1398171471.A.860.html
→
04/22 22:06, , 1F
04/22 22:06, 1F
→
04/22 22:07, , 2F
04/22 22:07, 2F
→
04/22 22:07, , 3F
04/22 22:07, 3F
→
04/22 22:09, , 4F
04/22 22:09, 4F
→
04/23 23:54, , 5F
04/23 23:54, 5F
→
04/23 23:54, , 6F
04/23 23:54, 6F
→
04/23 23:54, , 7F
04/23 23:54, 7F
推
04/24 00:26, , 8F
04/24 00:26, 8F
→
04/24 00:27, , 9F
04/24 00:27, 9F
謝謝您的解釋,但我還是不太懂@@
(5,5)那個點指的是坐標嗎?或是指(1,1)~(5,5)的範圍呢?
"(5,5)的陸地大小"是什麼意思呢?
這是我畫的圖
http://imgur.com/2CjkhL0
是這樣做計算嗎?
不好意思我真的不太懂他是怎麼計算的,感謝您的解答!
※ 編輯: timeregorge (1.172.84.185), 04/24/2014 11:57:06
推
04/24 20:21, , 10F
04/24 20:21, 10F
→
04/24 20:22, , 11F
04/24 20:22, 11F
→
04/24 20:23, , 12F
04/24 20:23, 12F
您好,謝謝您的解答,我的確沒有程式背景,最近正在自學中,感謝您的解說!
這樣我大概知道是怎麼運作的了但另外一個問題我嘗試把綠色筐原本是陸
地改成水,以計算來說應該計數會是22因為少了一個陸地
但為什麼執行的結果卻是21呢?http://imgur.com/f4B4Uow
※ 編輯: timeregorge (1.172.84.185), 04/25/2014 13:02:23
※ 編輯: timeregorge (1.172.84.185), 04/25/2014 13:03:44
推
04/25 17:26, , 13F
04/25 17:26, 13F
→
04/25 17:27, , 14F
04/25 17:27, 14F
謝謝您的講解,所以只有和陸地有相連的中間沒有斷開的才會被計算到嗎?
http://imgur.com/hmFJoqb
紅線範圍內是被計算到的 綠筐則是因為週邊為水所以不列入
那若是我改變坐標位置要計算右上角的3個有辦法嗎?因為我改變坐標似乎計算數會為0
此外現在的(5,5)是(x,y)或是依照
if world[y][x] != 'land'
return 0
end
size = 1
world[y][x] = 'counted land'
這一段裡面的設定為(y,x)呢?
謝謝您的解答!
※ 編輯: timeregorge (1.172.84.185), 04/26/2014 12:05:30
推
04/26 18:12, , 15F
04/26 18:12, 15F
→
04/26 18:13, , 16F
04/26 18:13, 16F
→
04/26 18:13, , 17F
04/26 18:13, 17F
→
04/26 18:14, , 18F
04/26 18:14, 18F
→
04/26 18:15, , 19F
04/26 18:15, 19F
→
04/26 18:16, , 20F
04/26 18:16, 20F
→
04/26 18:16, , 21F
04/26 18:16, 21F
原來如此
不好意思再次請教,在def裡面的if 條件式
if world[y][x] != 'land'
在上面地圖中是M條件式中變成'land'
用M或用'land'都是相同意思嗎?沒什麼關係嗎?
謝謝您
※ 編輯: timeregorge (218.164.117.176), 04/27/2014 21:29:28
推
04/28 20:18, , 22F
04/28 20:18, 22F
→
04/28 20:20, , 23F
04/28 20:20, 23F
→
04/28 20:22, , 24F
04/28 20:22, 24F
→
04/28 20:22, , 25F
04/28 20:22, 25F
→
04/29 02:20, , 26F
04/29 02:20, 26F
→ mars90226:我想他要問if world[y][x] != M能不能用
04/29 09:23
我的確是想問能不能用M,但我其實是想知道為何在裡面要用'land'而不是用'M'..
謝謝各位的解答!
※ 編輯: timeregorge (218.164.117.176), 04/29/2014 20:20:51
推
05/01 20:18, , 27F
05/01 20:18, 27F
→
05/01 20:19, , 28F
05/01 20:19, 28F
→
05/02 23:37, , 29F
05/02 23:37, 29F
→
05/02 23:37, , 30F
05/02 23:37, 30F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章