leetcode演算法題 除數博弈

2021-10-05 21:43:22 字數 543 閱讀 4119

1、動態規劃

dp[i]表示n=i時,alice先手的勝負
狀態轉移

//狀態轉移中,dp[i]表示alice先手的輸贏,dp[i-j]則表示alice先手拿走j之後的輸贏,也是bob此時先手的輸贏

dp[i]

=true

;if dp[i-j]

==false

**:

bool

divisorgame

(int n)}}

return dp[n]

;}

2、數學

本質:誰輪到n=2就會贏

如果n為奇數,alice只能選1,bob一直面臨偶數的情況,bob穩贏

如果n為偶數,alice只需一直選1,bob一直面臨都是奇數的情況,alice穩贏

所以判斷n奇偶即可

bool

divisorgame

(int n)

leetcode刷題 除數博弈

愛麗絲和鮑勃一起玩遊戲,他們輪流行動。愛麗絲先手開局。最初,黑板上有乙個數字 n 在每個玩家的回合,玩家需要執行以下操作 選出任一 x,滿足 0 x n 且 n x 0 用 n x 替換黑板上的數字 n 如果玩家無法執行這些操作,就會輸掉遊戲。只有在愛麗絲在遊戲中取得勝利時才返回 true,否則返回...

leetcode 除數博弈

愛麗絲和鮑勃一起玩遊戲,他們輪流行動。愛麗絲先手開局。最初,黑板上有乙個數字 n 在每個玩家的回合,玩家需要執行以下操作 選出任一 x,滿足 0 x n 且 n x 0 用 n x 替換黑板上的數字 n 如果玩家無法執行這些操作,就會輸掉遊戲。只有在愛麗絲在遊戲中取得勝利時才返回 true,否則返回...

leetcode 除數博弈

愛麗絲和鮑勃一起玩遊戲,他們輪流行動。愛麗絲先手開局。最初,黑板上有乙個數字 n 在每個玩家的回合,玩家需要執行以下操作 選出任一 x,滿足 0 x n 且 n x 0 用 n x 替換黑板上的數字 n 如果玩家無法執行這些操作,就會輸掉遊戲。只有在愛麗絲在遊戲中取得勝利時才返回 true,否則返回...