摘要: 本题大意:给定一个非负的整数,重复地将它的各个位数相加直到结果只有一位数字。 例如:num = 38,过程应该是:3 + 8 = 11, 1 + 1 = 2,因为2只有一位数字,就可以返回了。 有没有可能得到o(1)复杂度的算法? 第一种方法:循环。代码如下: 第二种方法:找规律。代码如下: 阅读全文
posted @ 2016-06-20 15:27 可爱的熊乖乖 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 本题大意:你和朋友正在玩一个小游戏。在桌子上放着一堆石头,一次允许你拿走1到3个石头,最后一次能全部拿走的人获胜。由你开始拿石头。你和朋友都很聪明,都能做出让自己赢的最佳决策。现在要写一个判定函数,给定石头的个数,判定你是否能赢。 例如共有4个石头,你就不可能赢得比赛:不管你拿几个石头,最后一个石头 阅读全文
posted @ 2016-06-20 15:20 可爱的熊乖乖 阅读(129) 评论(0) 推荐(0) 编辑
摘要: https://leetcode.com/problems/reverse-vowels-of-a-string/ 本题大意:实现字符串中元音字母的反转。 解题思路:该题多种思路,这里给出两种。 1、用栈存储扫描到的元音字母,然后重新扫描,把栈中的元音字母填入字符串。时间复杂度o(2n)。 代码实现 阅读全文
posted @ 2016-06-14 17:48 可爱的熊乖乖 阅读(181) 评论(0) 推荐(0) 编辑
摘要: https://leetcode.com/problems/reverse-string/ 本题大意:实现字符串的翻转。 解题思路:将字符串的字母首尾对调。 代码实现: 阅读全文
posted @ 2016-06-14 17:30 可爱的熊乖乖 阅读(109) 评论(0) 推荐(0) 编辑
摘要: https://leetcode.com/problems/majority-element/ 本题大意:给定一个大小为n的正整数数组,求出出现了超过⌊ n/2 ⌋次的元素。假定数组不为空并且主元素一定存在。 解题思路:本题有多种解法。 1、统计法(最笨的办法) 先排序,然后统计次数。 2、先排序, 阅读全文
posted @ 2016-06-14 17:18 可爱的熊乖乖 阅读(163) 评论(0) 推荐(0) 编辑
摘要: https://leetcode.com/problems/majority-element-ii/ 本题大意:给定一个大小为n的正整数数组,求出出现了超过⌊ n/3 ⌋次的元素。要求时间复杂度为o(n),空间复杂度为o(1)。 解题思路:首先要清楚,满足条件的这种元素最多有几个?答案应该是2个。所 阅读全文
posted @ 2016-06-14 17:10 可爱的熊乖乖 阅读(329) 评论(0) 推荐(0) 编辑
摘要: https://leetcode.com/problems/path-sum-ii/ 本题大意:给定一个二叉树和一个值sum,求出所有从根节点到叶子节点的路径,使得路径所通过的节点值之和为sum。 例如:给定二叉树: 值为sum=22,所得结果应该为: 解题思路:路径要满足的条件为:1、相加之和等于 阅读全文
posted @ 2016-06-14 16:51 可爱的熊乖乖 阅读(431) 评论(0) 推荐(0) 编辑
摘要: https://leetcode.com/problems/unique-paths-ii/ 本题大意:本题是Unique Paths的扩展。试想,如果对上一题表格中加入一些障碍,用1来表示,那么可行的路径应该有多少条呢? 例如: 那么路径的个数应该为2。 阅读全文
posted @ 2016-06-14 16:31 可爱的熊乖乖 阅读(113) 评论(0) 推荐(0) 编辑
摘要: https://leetcode.com/problems/subsets/ 本题大意:给出一个整数集合(集合元素具有相异性),求出所有的子集合。 例如:如果给定集合为[1,2,3],那么答案应为: 阅读全文
posted @ 2016-06-14 16:15 可爱的熊乖乖 阅读(874) 评论(0) 推荐(0) 编辑
摘要: 本题大意:给定两个正整数n和k,求出从1到n中选择k个不同数字的所有可能情况,按照从小到大排列。例如:n=4,k=2,得到的结果为: 阅读全文
posted @ 2016-06-14 12:32 可爱的熊乖乖 阅读(205) 评论(0) 推荐(0) 编辑