LeetCode No.1 (Nim name)

LeetCode  Algorithum

# title solution difficulty
292 Nim Name java easy
       

NO.292

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.

你和你的朋友Nim一起玩游戏:桌子上有一堆石头,你们轮流取出1~3个石头谁是取出最后一个石头的为赢家,从你开始。

你们非常聪明,各自都有对应的方案,写一个函数来确保开始时石头的数量针对你是必赢的。

比如:如果这堆石头有4个,那么你将永远不会获胜:不管是取出1个,2个或3个,最后的石头都会是你的朋友取出的。

Hint:   如果这堆石头有5个,你就可以想出一个方法,将总是你获胜

  1. If there are 5 stones in the heap, could you figure out a way to remove the stones such that you will always be the winner?

public class Solution {
    public boolean canWinNim(int n) {
        if(n % 4 == 0) {
            return false;
        } else {
            return true;
        }
    }
}

时间: 2024-10-29 19:05:53

LeetCode No.1 (Nim name)的相关文章

【一天一道LeetCode】#292. Nim Game.md

一天一道LeetCode 从今天开始,调整规律,不按顺序做,从easy开始! 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 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

LeetCode OJ:Nim Game(Nim游戏)

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 th

leetcode笔记: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 r

LeetCode算法题-Nim Game(Java实现)

这是悦乐书的第203次更新,第213篇原创 01 看题和准备 你和你的朋友正在玩下面的Nim游戏:桌子上有一堆石头,每次你轮流去除1到3块石头. 移除最后一块石头的人将成为赢家. 你是第一个取出石块的. 你们两个都非常聪明,并且拥有最佳的游戏策略. 编写一个函数来确定你是否可以在堆中的石头数量的情况下赢得游戏.例如: 输入:4 输出:false 说明:如果堆中有4块石头,那么你永远不会赢得游戏;无论你删除了1,2或3块石头,你的朋友都能去除它. 本次解题使用的开发工具是eclipse,jdk使用

力扣(LeetCode)292. Nim游戏 巴什博奕

你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头. 拿掉最后一块石头的人就是获胜者.你作为先手. 你们是聪明人,每一步都是最优解. 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏. 示例: 输入: 4 输出: false 解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛: 因为无论你拿走 1 块.2 块 还是 3 块石头,最后一块石头总是会被你的朋友拿走. 解析 这是巴什博奕 n=k*(m+1)+r n是要报的数,m是最多能报的数

LeetCode OJ 292.Nim Gam148. Sort List

Sort a linked list in O(n log n) time using constant space complexity. 排序问题是我们遇到的一个老问题,从大一开始我们就学习了各种排序算法,大部分是基于数组的,比如冒泡排序,插入排序,快速排序等.这其中冒泡排序,插入排序的算法复杂度都是O(n2),插入排序的时间复杂度为O(nlogn).对于这个题目,显然我们不能使用冒泡排序和插入排序,因为这样时间复杂度不满足要求,那么链表适合用快速排序吗?答案是肯定的,链表的结构还是非常方便

LeetCode OJ 292.Nim Gam19. Remove Nth Node From End of List

Given a linked list, remove the nth node from the end of list and return its head. For example, Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the end, the linked list becomes 1->2->3->5. Note:Given n

leetcode day2

[参考]http://book.2cto.com/201210/5663.html [参考]http://www.cnblogs.com/exponent/articles/2141477.html nim game定义: Nim是一种两个人玩的游戏,玩家双方面对一堆硬币(或者石头或者豆粒).假设有k≥1堆硬币,每堆分别有n1,n2,…,nk枚硬币.这一游戏的目标就是取得最后一枚硬币.游戏的规则如下: (1)玩家轮番出场(我们称第一个取子的玩家为Ⅰ,而第二个玩家为Ⅱ). (2)当轮到一个玩家取子

[LeetCode] 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 th