摘要: 需要注意的是, 如果某个节点已经是数字了,则接下来不能继续放数字 ,例如 "a11" 是不合法的。 先写了如下code ,在 input = "interaction" 时WA了, 而其他短字符串都可以过。 因为 最后一行 “curResult.deleteCharAt(curResult.leng 阅读全文
posted @ 2018-11-12 08:56 KeepAC 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 产生格雷码,格雷码就是前后 两个数在二进制上只有一个bit 的差别 先看看格雷码的规律: n =0, [0] n=1, [0 1] n=2: 00 01 11 10 n=3: 000 001 011 010 110 111 101 100 可以发现规律, 比如 n=3 时相比于 n=2 时, 前面 阅读全文
posted @ 2018-11-12 06:04 KeepAC 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 93 给你 一串数字,让你求出可能的IP 地址。 去掉了 nums 并且用remain 代替sum, 可以排名95%: 阅读全文
posted @ 2018-11-12 04:39 KeepAC 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 17 给出一个电话拨号盘,数字2-9代表一些字母,已知数字,求出所有字母的可能 例子 比如 求"23" , 2 >"abc" 3-->"def" 画出递归数其实非常简单: 和77. Combinations 本质上是一样的, 都是求所排列问题,但和数字排列不同的时,每一次需要遍历的数组不是固定的,而 阅读全文
posted @ 2018-11-11 08:06 KeepAC 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 题意: 给你个二进制手表,上面 有两排LED等,第一排为hour, 第二排为minutes。 告诉你表上有n 个LED 灯亮着,输出所有可能的时间。 题解: 把上面 10个 LED 等 抽象成10个数 0~9, 现在亮着 n (n<9) 个灯,表示从 nums 里 取出 n 个数的“排列” int[ 阅读全文
posted @ 2018-11-10 15:36 KeepAC 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 和39. Combination Sum 不同的是,377 可以把不同排列的解认为是不同解,例如 [1,1,2] 和 [2,1,1] 是不同解,并且只需要求出解的个数。 例如 这里拿backtraing 每次把sum += nums[i] 再去掉 上一次的 sum -= num[i] 但不是一个好的 阅读全文
posted @ 2018-11-10 14:51 KeepAC 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 因为不熟悉 Java 字符串处理的一些function, 一开始写了一个特别丑陋的code: 用了Character 类里的function 后的code: 优化到了95% 阅读全文
posted @ 2018-11-10 10:00 KeepAC 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 78 nums 元素没有重复, 求subsets, 共有 2^n个 90. 有重复元素情况下求组合数, 唯一需要注意的是如何去重: 阅读全文
posted @ 2018-11-10 09:28 KeepAC 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 77 从1~n 中产生K个组合, 因为1~n 没有重复元素,所以很简单 39. 前提: 1. 所有数都是positive的 2. 所有数没有duplicated的 并且一个数可以重复选择 40. 1. 条件变成了 数字有重复 , 有重复的处理方法都是先排序。 2. 并且返回结果仍然需要unique 阅读全文
posted @ 2018-11-10 03:50 KeepAC 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 78 没有重复元素,求所有的subsets 阅读全文
posted @ 2018-11-09 14:45 KeepAC 阅读(109) 评论(0) 推荐(0) 编辑