频道栏目
首页 > 考试 > 其他 > 正文

数组-硬币排成线-简单

2018-06-26 16:03:21         来源:披着鲨鱼皮的海盗  
收藏   我要投稿

描述
有 n 个硬币排成一条线。两个参赛者轮流从右边依次拿走 1 或 2 个硬币,直到没有硬币为止。拿到最后一枚硬币的人获胜。
请判定 第一个玩家 是输还是赢?
您在真实的面试中是否遇到过这个题?? 是
样例
n = 1, 返回 true.
n = 2, 返回 true.
n = 3, 返回 false.
n = 4, 返回 true.
n = 5, 返回 true.
挑战

O(1) 时间复杂度且O(1) 存储。

题目链接

程序

class Solution {
public:
 /**
  * @param n: An integer
  * @return: A boolean which equals to true if the first player will win
  */
 bool firstWillWin(int n) {
  // write your code here
  if(n == 0)
return false;
  if(n == 1)
return true;
  if(n == 2)
return true;
  if(n == 3)
return false;
  if(n == 4)
return true;
  if(n == 5)
return true;
  firstWillWin(n - 3);
  /*
  if(n % 3 == 0)
return false;
  else
return true;
  */

 }
};
上一篇:造轮子(零件)_字符串替换
下一篇:Lecture Sleep(CodeForces 961B )
相关文章
图文推荐
热门新闻

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站