lintcode 394 硬幣排成線

2022-03-29 14:28:06 字數 469 閱讀 9950

有 n 個硬幣排成一條線。兩個參賽者輪流從右邊依次拿走 1 或 2 個硬幣,直到沒有硬幣為止。拿到最後一枚硬幣的人獲勝。

請判定 第乙個玩家 是輸還是贏?

樣例n = 1, 返回 true.

n = 2, 返回 true.

n = 3, 返回 false.

n = 4, 返回 true.

n = 5, 返回 true.

挑戰o(1) 時間複雜度且o(1) 儲存。

標籤陣列 貪心 動態規劃 博弈論

思路
參考

以看到資料肯定可以保證3個一輪,因為你拿1個,我就2個,你拿2個,我就1個,也就是說如果是3的倍數,肯定是後手贏,先手可以拿1-2個把總數改成3的倍數

code
class solution 

};

lintcode 硬幣排成線

有 n 個硬幣排成一條線。兩個參賽者輪流從右邊依次拿走 1 或 2 個硬幣,直到沒有硬幣為止。拿到最後一枚硬幣的人獲勝。請判定 先手玩家 必勝還是必敗?若必勝,返回 true,否則返回 false.輸入 4 輸出 true 解釋 先手玩家第一輪拿走乙個硬幣,此時還剩三個.這時無論後手玩家拿乙個還是兩...

lintcode 硬幣排成線2

有 n 個不同價值的硬幣排成一條線。兩個參賽者輪流從 左邊 依次拿走 1 或 2 個硬幣,直到沒有硬幣為止。計算兩個人分別拿到的硬幣總價值,價值高的人獲勝。請判定 先手玩家 必勝還是必敗?若必勝,返回 true,否則返回 false.樣例 1 輸入 1,2,2 輸出 true 解釋 先手玩家直接拿走...

硬幣排成線

題目 有 n 個硬幣排成一條線。兩個參賽者輪流從右邊依次拿走 1 或 2 個硬幣,直到沒有硬幣為止。拿到最後一枚硬幣的人獲勝。請判定 先手玩家 必勝還是必敗?若必勝,返回 true,否則返回 false.樣例樣例 1 輸入 1 輸出 true 樣例 2 輸入 4 輸出 true 解釋 先手玩家第一輪...