LintCode之硬币排成线】的更多相关文章

输入的n可以分为两种情况: 1. 如果n是3的倍数的话,不论A怎么拿B都可以拿(3-A拿的个数)来使其保持是3的倍数,他就一定能拿到最后一块,所以n是3的倍数的话B必胜 2. 如果n不是3的倍数的话,那么A就能够拿1或者2块使其变为3的倍数,就相当于B变成了第一种情况中的A,所以n不是3的倍数的话A必胜 AC代码: class Solution: """ @param: n: An integer @return: A boolean which equals to true…
题目 硬币排成线 II 有 n 个不同价值的硬币排成一条线.两个参赛者轮流从左边依次拿走 1 或 2 个硬币,直到没有硬币为止.计算两个人分别拿到的硬币总价值,价值高的人获胜. 请判定 第一个玩家 是输还是赢? 样例 给定数组 A = [1,2,2], 返回 true. 给定数组 A = [1,2,4], 返回 false. 解题 动态规划.博弈论 坑死,看了好久 定义dp[i]表示从i到end能取到的最大值 当我们在i处,有两种选择: 1.若取values[i],对方可以取values[i+1…
题目 硬币排成线 有 n 个硬币排成一条线.两个参赛者轮流从右边依次拿走 1 或 2 个硬币,直到没有硬币为止.拿到最后一枚硬币的人获胜. 请判定 第一个玩家 是输还是赢? 样例 n = 1, 返回 true. n = 2, 返回 true. n = 3, 返回 false. n = 4, 返回 true. n = 5, 返回 true. 挑战 O(1) 时间复杂度且O(1) 存储. 解题 两个人在一次拿的时候,当第一个人拿的是1 时,第二个人拿的就是2:当第一个人拿的是2时,第二个人拿的就是1…
395-硬币排成线 II 有 n 个不同价值的硬币排成一条线.两个参赛者轮流从左边依次拿走 1 或 2 个硬币,直到没有硬币为止.计算两个人分别拿到的硬币总价值,价值高的人获胜. 请判定 第一个玩家 是输还是赢? 样例 给定数组 A = [1,2,2], 返回 true. 给定数组 A = [1,2,4], 返回 false. 标签 动态规划 数组 博弈论 思路 参考 http://www.jianshu.com/p/42656455eefc dp[i] 表示从i到end 能拿到的最大值 一个明…
394-硬币排成线 有 n 个硬币排成一条线.两个参赛者轮流从右边依次拿走 1 或 2 个硬币,直到没有硬币为止.拿到最后一枚硬币的人获胜. 请判定 第一个玩家 是输还是赢? 样例 n = 1, 返回 true. n = 2, 返回 true. n = 3, 返回 false. n = 4, 返回 true. n = 5, 返回 true. 挑战 O(1) 时间复杂度且O(1) 存储. 标签 数组 贪心 动态规划 博弈论 思路 参考 http://blog.csdn.net/wangyuquan…
LintCode 395: First Will Win 2 题目描述 有 n 个不同价值的硬币排成一条线.两个参赛者轮流从左边依次拿走 1 或 2 个硬币,直到没有硬币为止.计算两个人分别拿到的硬币总价值,价值高的人获胜. 请判定 第一个玩家 是输还是赢? 样例 给定数组 A = [1,2,2], 返回 true. 给定数组 A = [1,2,4], 返回 false. Sat Feb 26 2017 思路 一般这种博弈的题目都是假设双方足够聪明,能够用最优的策略取得胜利的,看似很麻烦,实际上…
LintCode 394: First Will Win 题目描述 有n个硬币排成一条线.两个参赛者轮流从右边依次拿走1或2个硬币,直到没有硬币为止.拿到最后一枚硬币的人获胜. 请判定 第一个玩家 是输还是赢? 样例 n = 1, 返回 true. n = 2, 返回 true. n = 3, 返回 false. n = 4, 返回 true. n = 5, 返回 true. Sat Feb 26 2017 思路 一般这种博弈的题目都是假设双方足够聪明,能够用最优的策略取得胜利的,看似很麻烦,实…
------------------------------------------------------------第七周:Follow up question 1,寻找峰值 寻找峰值 描述 笔记 数据 评测 你给出一个整数数组(size为n),其具有以下特点: 相邻位置的数字是不同的 A[0] < A[1] 并且 A[n - 2] > A[n - 1] 假定P是峰值的位置则满足A[P] > A[P-1]且A[P] > A[P+1],返回数组中任意一个峰值的位置. 注意事项 数…
------------------------------------------------------------第七周:Follow up question 1,寻找峰值 寻找峰值 描述 笔记 数据 评测 你给出一个整数数组(size为n),其具有以下特点: 相邻位置的数字是不同的 A[0] < A[1] 并且 A[n - 2] > A[n - 1] 假定P是峰值的位置则满足A[P] > A[P-1]且A[P] > A[P+1],返回数组中任意一个峰值的位置. 注意事项 数…
366. 斐波纳契数列 中文 English 查找斐波纳契数列中第 N 个数. 所谓的斐波纳契数列是指: 前2个数是 0 和 1 . 第 i 个数是第 i-1 个数和第i-2 个数的和. 斐波纳契数列的前10个数字是: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ... 样例 样例 1: 输入: 1 输出: 0 样例解释: 返回斐波那契的第一个数字,是0. 样例 2: 输入: 2 输出: 1 样例解释: 返回斐波那契的第二个数字是1. class Solution: "&qu…