【LeetCode刷題筆記(四十二)】之 1025. 除數博弈
本文章由公號【開發小鴿】釋出!歡迎關注!!!
老規矩–妹妹鎮樓:
一. 題目
(一) 題幹
愛麗絲和鮑勃一起玩遊戲,他們輪流行動。愛麗絲先手開局。
最初,黑板上有一個數字 N 。在每個玩家的回合,玩家需要執行以下操作:
選出任一 x,滿足 0 < x < N 且 N % x == 0, 用 N - x 替換黑板上的數字 N 。如果玩家無法執行這些操作,就會輸掉遊戲。
只有在愛麗絲在遊戲中取得勝利時才返回 True,否則返回 False。假設兩個玩家都以最佳狀態參與遊戲。
(二) 示例
示例 1:
輸入:2
輸出:true
解釋:愛麗絲選擇 1,鮑勃無法進行操作。
示例 2:
輸入:3
輸出:false
解釋:愛麗絲選擇 1,鮑勃也選擇 1,然後愛麗絲無法進行操作。
二.題解
(一)思路
初看題目,這是啥玩意,簡直是閱讀理解題目。細細思考,這又是一個動態規劃的問題,從小值開始不斷地增長,記錄從N=1開始,先手是否會成功。因為,不論Alice開始先手的N是多少,Bob得到的數一定是小於N的,那麼通過判斷Bob得到的數所對應先手成功與否,就能夠直接判斷出Alice是否會成功。如果Bob得到的數先手一定會失敗,那麼Alice一定會成功。
對於這種博弈問題,一定要從簡單的情況開始推理,多推理幾次,找出規律來!!!
(二) 程式碼實現
Java:
class Solution {
public boolean divisorGame(int N) {
boolean[] flag = new boolean[N+5];
flag[1] = false;
flag[2] = true;
for(int i = 3; i <= N; ++i){
for(int j = 1; j < i; ++j){
if(i % j == 0 && !flag[i-j]){
flag[i] = true;
break;
}
}
}
return flag[N];
}
}
相關文章
- LeetCode 刷題筆記LeetCode筆記
- leetcode刷題筆記LeetCode筆記
- leetcode刷題筆記605LeetCode筆記
- leetcode刷題筆記(3)(python)LeetCode筆記Python
- LeetCode刷題筆記9.2-9.9LeetCode筆記
- leetcode刷題筆記8.5-8.9LeetCode筆記
- Leetcode刷題筆記8.12-8.16LeetCode筆記
- LeetCode刷題記錄LeetCode
- Leetcode171-190刷題筆記(非困難題)LeetCode筆記
- Leetcode刷題之 【最近的請求次數】LeetCode
- LeetCode刷題之第701題LeetCode
- leetcode刷題記錄 661~LeetCode
- Leetcode刷題——求眾數LeetCode
- 【刷題筆記】LeetCode-53 最大子陣列和筆記LeetCode陣列
- 刷題記錄:劍指offer+遇到的筆試題+LeetCode筆試LeetCode
- Leetcode刷題筆記 501. 二叉搜尋樹中的眾數LeetCode筆記
- 刷題筆記03筆記
- 刷題筆記02筆記
- 【LeetCode刷題筆記-33 649:Dota2 參議院】LeetCode筆記
- LeetCode 刷題日記 19. 刪除連結串列的倒數第N個節點LeetCode
- LeetCode刷題記錄——day1LeetCode
- LeetCode刷題記錄——day5LeetCode
- LeetCode刷題記錄——day4LeetCode
- LeetCode刷題記錄——day3LeetCode
- LeetCode刷題記錄——day2LeetCode
- [LeetCode 刷題] 1. 兩數之和LeetCode
- [LeetCode 刷題] 2. 兩數相加LeetCode
- 【刷題筆記】2024.10.4 test筆記
- noip刷題筆記1筆記
- 用 elixir 刷 LeetCode 的一些筆記LeetCode筆記
- 程式設計小白用Python刷LeetCode學習筆記——前100題程式設計PythonLeetCode筆記
- leetcode 刷題之深度優先搜尋LeetCode
- 「翻轉字串」python之leetcode刷題|004字串PythonLeetCode
- LeetCode刷題記13-27. 移除元素LeetCode
- LeetCode-劍指Offer刷題記錄LeetCode
- 【LeetCode刷題】896. 單調數列LeetCode
- #leetcode刷題之路1-兩數之和LeetCode
- LeetCode 刷題—樹LeetCode