10-3 Lab03 02 撲克牌發牌-長度修正-發牌順序選人亂序
Lesson: 10-3 Lab03 02 撲克牌發牌-長度修正-發牌順序選人亂序
10-3 Lab03 02 撲克牌發牌-長度修正-發牌順序選人亂序
講義
影片逐字稿 (AI 生成)
這邊有同學提到然後我覺得這個問題是蠻好的就是我可能沒有想得太清楚就是說如果說我拿一個亂數然後我把這個使用者我找這個使用者說欸你的長度有沒有小於13假如你小於13的話我就給你嘛對不對可是你如果大於13的話我是不是就塞到他下一個使用者可是這邊有一個問題是那一個使用者可能他的牌也滿的啊他也要再檢查這個條件那這邊我們就可以用什麼我們可以用話喔對不對想一下喔我會怎樣我檢查我先檢查好我這邊我要做的事情是什麼呢我可能把這邊扣先給等一下快喔我這邊設一個邊界條件這個邊界條件是就是如果他大於13如果他的長度大於13的話我對我對這個數字做什麼事情我的RAM等於剛剛這個去處理他的長度使用者的長度那這樣會怎麼樣呢我是不是一直在改變RAM的數字比如說他今天是第三個使用者他的比如說我今天拿到這3來講我如果拿到RAM等這3他如果是User3他的長度已經比13還要更大了那他會怎麼樣他會去下一個就是他會去這邊然後我去把它加1加1以後呢我的RAM是不是就變成是除以剛才4所以他就變0對不對他0回來他就去check這個長度是不是大於13這個長度是不是大於13所以他就變0他0回來他就去check這個長度是不是大於13這個長度是不是大於13假如沒有大於13我就可以塞給他所以我就可以一直check就是說找到一定比13還要小的然後我再push我在下面再push我在這邊我在User點push然後這時候我push的位置一定是ok的因為我在這邊我在這邊我push的位置一定是對的嘛因為假如說我我userRAM他的長度比如說我第一個使用第一個使用者已經滿了第二個使用者也滿了所以我抽到第一個使用者的時候他會跟我講說什麼應該是大於等於13等於13要找下一個對我那標記頭前有講錯等於13我已經有13張卡片了我是不是要找下一個使用者假如他也有13張卡片我再加1再看他的長度是不是我再去加我再去再找下一個使用者找到其中有一個一定是還沒有13張因為你要想像這個是最後的那個階段假如我找到一個使用者他已經有13張的話我不要給他嘛我找下一個找下一個RAM是不是也是什麼那我這樣永遠不會結束嗎我想一下喔我一直找下一個找到有一個會小於13其中有一個會小於13會因為我的卡片只有52張所以我不可能一直無限的找對不對我頂多第51個嘛第51個的時候就是第51個的情況是什麼我找到隨機找一個使用者然後這個使用者可能是滿的所以他加1加1的情況下他可能又是滿的再加1然後他也是滿的有三個是滿的情況下等於3乘以13乘以39然後另外幾個是12張因為最後一個那個是12張然後就那張牌一定會給他好那我們看一下這樣的結果會怎麼樣那這個這個的過程就是一直在找使用一直在找就是比如說你如果大於13我就不給你你如果大於13我就不給你然後我這個時候就把我的RAM加1然後趨速然後再把它變RAM然後一直重複的找找到那一個比13還要小的那個人我們就可以Push給他這時候應該都是13張吧這時候應該都是13張吧長度什麼不太長度對13張然後再13張對這樣都對現在我就沒有時間了我剛才本來要講另外一個解法
影片逐字稿largev2
這邊有同學提到然後我覺得這個問題是蠻好的就是我可能沒有想得太清楚就是說如果說我拿一個亂數然後我把這個使用者我找這個使用者說欸你的長度有沒有小於13假如你小於13的話我就給你嘛對不對可是你如果大於13的話我是不是就塞到他下一個使用者就是他下一個使用者可能他的牌也滿了阿他也要再檢查這個條件那這邊我們就可以用什麼我們可以用壞喔對不對恩想一下喔我會等一下我檢查我先檢查好好我這邊我要做的事情是什麼呢我把這邊扣先給你壞喔我這邊設一個邊界條件這個邊界條件是如果他大於13如果他的長度大於13的話我對這個數字做什麼事情我的RAN等於剛剛這個去處理他的長度使用者的長度那這樣會怎麼樣呢我是不是一直在改變RAN的數字比如說他今天是第三個使用者他的比如說我今天拿到這3來講我如果拿到RANDOM這3他如果是USER3他的長度已經比13還要更大了那他會怎麼樣他會去下一個就是他會去這邊然後我去把他加1加1以後呢我的RAN是不是就變成是他0回來他就去CHECK這一個的長度是不是大於13假如沒有大於13我就可以塞給他所以我就可以一直CHECK就是說找到一定比13還要小的然後我在PUSH我在下面在PUSH我在這邊我在USER點PUSH然後這時候我PUSH的位置一定是OK的因為我在這邊我PUSH的位置一定是對的因為假如說我USERRAN他的長度比如說我第一個使用第一個使用者已經滿了第二個使用者也滿了所以我抽到第一個使用者的時候他會跟我講說什麼應該是大於等於13要找下一個我已經有13張卡片了我是不是要找下一個使用者假如他也有13張卡片我再加1再看他的長度是不是我再去再找下一個使用者找到其中有一個一定是還沒有13張因為你要想像這個是最後的那個階段假如我找到一個使用者他已經有13張的話我不要給他我找下一個找下一個RAN是不是也是什麼那我這樣永遠不會結束嗎我想一下喔我一直找下一個找到有一個會小於13有其中有一個會小於13會因為我的卡片只有52張所以我不可能一直無限的找對不對我頂多第51個第51個的時候就是第51個的情況是什麼我隨機找一個使用者然後這個使用者可能是滿的所以要加1加1的情況下他可能又是滿的再加1然後他也是滿的有三個是滿的情況下等於3乘以13等於39然後另外幾個是12張因為最後一個那個是12張然後那張牌一定會給他好那我們看一下這樣的結果會怎麼樣那這個這個的過程就是一直在找使用者一直在找比如說你如果大於13我就不給你你如果大於13我就不給你然後這個時候我就把我的RAN加1然後取餘數然後再把它變成RAN然後一直重複的找找到那個比13還要小的那個人我們就可以PUSH給他這時候應該都是13張吧長度長度13張然後再13張這樣都對現在我就沒有時間了我剛本來要講另外一個解法