你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。

你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。

示例:
输入: 4
输出: false
解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛;
因为无论你拿走 1 块、2 块 还是 3 块石头,最后一块石头总是会被你的朋友拿走。

/*** @param {number} n* @return {boolean}*/
var canWinNim = function(n) {};

个人解法

思路:你先手,如果你拿第一次之后剩下的石头是4的倍数的话,那你就赢定了,你只要一直保持4的倍数就可以了。比如9,你一开始拿掉1个,剩8个,然后无论对手那1-3的哪几个,你只要拿掉石头后剩下4块就可以了。

var canWinNim = function(n) {return n % 4 !== 0;};

★LeetCode(292)——Nim 游戏(JavaScript)相关推荐

  1. Java实现 LeetCode 292 Nim游戏

    292. Nim 游戏 你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头. 拿掉最后一块石头的人就是获胜者.你作为先手. 你们是聪明人,每一步都是最优解 ...

  2. Leetcode 292. Nim 游戏 解题思路及C++实现

    方法一:规律 解题思路: n从1开始增加,可以发现,当 n 是 4 的倍数的时候,就是false. class Solution { public:bool canWinNim(int n) {ret ...

  3. LeetCode 292 Nim Game

    LeetCode 292 Nim Game https://leetcode.com/problems/nim-game/ 当能被4整除时,才会输. bool canWinNim(int n) {re ...

  4. LeetCode题目笔记——292. Nim 游戏 (脑筋急转弯C++/Python)

    文章目录 题目描述 题目难度--简单 方法一:脑筋急转弯 代码/C++/Python 总结 题目描述 你和你的朋友,两个人一起玩 Nim 游戏: 桌子上有一堆石头. 你们轮流进行自己的回合, 你作为先 ...

  5. leetcode刷题:292. Nim 游戏(Java)

    题目描述 你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头. 拿掉最后一块石头的人就是获胜者.你作为先手. 你们是聪明人,每一步都是最优解. 编写一个函 ...

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

    你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头. 拿掉最后一块石头的人就是获胜者.你作为先手. 你们是聪明人,每一步都是最优解. 编写一个函数,来判断你 ...

  7. LeetCode 292 Nim Game(Nim游戏)

    翻译 你正在和你的朋友们玩下面这个Nim游戏:桌子上有一堆石头,每次你从中去掉1-3个.谁消除掉最后一个石头即为赢家.你在取出石头的第一轮.你们中的每一个人都有着聪明的头脑和绝佳的策略.写一个函数来确 ...

  8. LeetCode 292. Nim Game

    292. Nim Game 尼姆游戏 You are playing the following Nim Game with your friend: 您正在和您的朋友玩以下NIM游戏: There ...

  9. 292. Nim 游戏(简单题)

    题目描述: 你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头. 拿掉最后一块石头的人就是获胜者.你作为先手. 你们是聪明人,每一步都是最优解. 编写一个 ...

  10. 文巾解题 292. Nim 游戏

    1 题目描述 2 解题思路 这其实是一个脑筋急转弯一样的题目.先给出结论吧:如果堆中石头的数量 n 不能被 4 整除,那么你总是可以赢得 Nim 游戏的胜利. 下面是推导部分: 让我们考虑一些小例子. ...

最新文章

  1. R语言报错:Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, : n行没有x元素
  2. FAR,FRR,EER
  3. nginx的脚本引擎(一)
  4. java大数输出一位小数_java大数练习 大明A+B(大数小数的高精度)
  5. Debug gradle task
  6. 26. 复杂链表的复制
  7. 引用了System.Configuration命名空间,却找不到ConfigurationManager类
  8. Leetcode 207. 课程表(值得一刷的宽搜)
  9. 转载 Linux新人科普
  10. java基础企业级入门视频教程-周江超-专题视频课程
  11. C++加载csb文件
  12. OpenBSD5.2安装图形界面
  13. UE4开发五:人物模型和摄像机
  14. Markdown 书写规范
  15. MTK虚拟sensor梳理
  16. 2022年中国汽车事件数据记录器(EDR)市场现状研究分析与发展前景预测报告
  17. 信度不达标的处理方式
  18. 《javascript基础》学习笔记 一
  19. Fabric基础配置文件解析(一)
  20. JSP+Servlet+C3P0+Mysql实现的网上蛋糕店

热门文章

  1. 求数组第二大元素 和 字符串拷贝的实现
  2. Asp.Net Core基于JWT认证的数据接口网关Demo
  3. 第四次作业:个人项目-小学四则运算 “软件”之初版
  4. 玩转Go语言之数据类型转换
  5. Linux之bash脚本编程---if补充和for循环
  6. MyBatis教程目录
  7. IT项目管理-----给年轻工程师的十大忠告
  8. cocos2d-x 如何使用Visual Studio 2010和xcode 4混合编写手机游戏
  9. 浏览器设置主页 注册表_关于浏览器首页被篡改这件事
  10. flutter图标按钮_Flutter 中的常见的按钮组件 以及自 定义按钮组件