leecode练习 292、Nim游戏 题目要求: 你和你的朋友,两个人一起玩 “Nim 游戏”,桌子上有一堆石头,每次你们轮流拿掉 1 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手 你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏 示例: ...
分类:
其他好文 时间:
2019-05-21 20:51:48
阅读次数:
147
分析: 为节约空间,采用一维辅助空间,但是我分析问题时候稍微有点难受。还好。 ...
分类:
其他好文 时间:
2019-05-18 12:26:23
阅读次数:
102
/***** //sell[i]表示截至第i天,最后一个操作是卖时的最大收益; //buy[i]表示截至第i天,最后一个操作是买时的最大收益; //cool[i]表示截至第i天,最后一个操作是冷冻期时的最大收益; //递推公式: //sell[i] = max(buy[i-1]+prices[i],... ...
分类:
其他好文 时间:
2019-05-15 12:38:01
阅读次数:
107
leecode刷题(26) 用栈实现队列 用栈实现队列 使用栈实现队列的下列操作: push(x) 将一个元素放入队列的尾部。 pop() 从队列首部移除元素。 peek() 返回队列首部的元素。 empty() 返回队列是否为空。 示例: 说明: 你只能使用标准的栈操作 也就是只有 , , , 和 ...
分类:
其他好文 时间:
2019-05-05 13:22:22
阅读次数:
149
leecode刷题(23) 合并两个有序链表 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 思路: 这道题我们可以用递归的方法来处理。首先我们可以设置一个临时头节点 head,当链表 l1 和链表 l2 不为空时,对它们进行比 ...
分类:
其他好文 时间:
2019-05-04 12:05:58
阅读次数:
99
leecode刷题(24) 翻转二叉树 翻转二叉树 翻转一棵二叉树。 示例: 输入: 输出: 备注: 这个问题是受到 "Max Howell " 的 "原问题" 启发的 : 谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。 ...
分类:
其他好文 时间:
2019-05-04 11:42:35
阅读次数:
142
分析: Hi,I’m back~这个题一开始审错了,我以为字符串里就只有字母字符呢,其实任意字符都行,于是辅助空间从26改到256,还以为空间炸了,其实还好,名次还是很靠前的。 时间复杂度O(n),这个还是比较好的,也是拿空间换来的,思想就在注释里~ ...
分类:
其他好文 时间:
2019-05-01 16:10:54
阅读次数:
134
分析: 不给说O(n)时间复杂度,O(1)空间复杂度,我还真想不到这么好的。 ...
分类:
编程语言 时间:
2019-04-17 16:41:13
阅读次数:
180