日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 芯聞號 > 充電吧
[導讀]周末刷知乎的時候,有人說leetcode.com網(wǎng)站上的練習題非常適合準備跳槽的人,雖然我不準備跳槽,但多見識一些總沒有錯,抱著好玩的心態(tài),按照難度的排了順序,開始做題。這就是Nim Game:You

周末刷知乎的時候,有人說leetcode.com網(wǎng)站上的練習題非常適合準備跳槽的人,雖然我不準備跳槽,但多見識一些總沒有錯,抱著好玩的心態(tài),按照難度的排了順序,開始做題。

這就是Nim Game:


You are playing the following Nim Game with your friend: There is a heap of stones on the table, each time one of you take turns to remove 1 to 3 stones. The one who removes the last stone will be the winner. You will take the first turn to remove the stones.

Both of you are very clever and have optimal strategies for the game. Write a function to determine whether you can win the game given the number of stones in the heap.

For example, if there are 4 stones in the heap, then you will never win the game: no matter 1, 2, or 3 stones you remove, the last stone will always be removed by your friend.

這個題大家想必都不陌生,大致題意是,你和你的一個朋友玩游戲,且你和你的朋友足夠聰明,規(guī)則是:有N個石子,每人每次可以拿走1-3個石子,拿走最后那一個石子的人獲得勝利,且你是第一個去取石子的人。請寫一個函數(shù),當輸入正整數(shù)n時,返回值為你是否獲勝,true為獲勝,false為失敗。


舉例,如果這里有4個石子,那么你將會輸?shù)粲螒颍驗闊o論你移除1或2或3個石子之后,最后的石子都會被你的朋友拿走。


規(guī)則以及解題要求都已經(jīng)清楚了,那么下面我來講一下這道題的關(guān)鍵點:一、你和你的朋友足夠聰明;二、每人每次只能拿1-3個;三、當N為4時,你一定是失敗的。

對數(shù)字敏感的同學應該已經(jīng)看出端倪了,這是一道很簡單的算法題,所以就直接公布答案了:當N > 0 and N < 4時,返回true;當N > 4 且 N % 4 的值不為零時,返回值為true,否則返回false。意思就是,除了n為4的倍數(shù)以外的情況你會輸,其他情況你都是可以贏的。

這里說一下思路,因為當余數(shù)為1-3時,你可以將場面控制成剩余石子數(shù)為4的倍數(shù)。

PS:老話說的話,先下手為強吶!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉