摘要: 比如网上一个例子 一组单词,inn, int, at, age, adv, ant, 我们可以得到下面的Trie: 这里的节点上存的是一个单词,实际上,每个节点走过的路径就是该节点代表的单词. 下面这个链接 对Trie tree 比较好的code 模板,针对leetcode 的: https://w 阅读全文
posted @ 2018-11-21 14:10 KeepAC 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 给你一个字符数组,每个单词长度一样,你从中选单词,组成的 二位数组中 横向和纵向 组成的一维数组都一样。 注意1: 单词可以重复被选择 注意2. 字符串数组可能非常的大,有1000 个 分析二: 假设单词当都为5, 第一个单词任意放, 第二个单词首字母 [1][0]位置 会被 第一个单词 [0][1 阅读全文
posted @ 2018-11-21 05:12 KeepAC 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 待续 阅读全文
posted @ 2018-11-21 04:33 KeepAC 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 383 easy 题,就是建立字母的hash 表 看第一个String 是否能被第二个String 所构建 canConstruct("aa", "aab") -> true 统计 第二个参数中每个字母的频率,可以用一个int[256] 建立hashmap, 然后统计 第一个String 中字母出现 阅读全文
posted @ 2018-11-19 14:12 KeepAC 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 290 为一个简单题,但还是有个小坑的。 题意: 给你一个pattern 和 一个用空格split 的的str, 问你两边是否匹配。 code 很简单,一看就是用Map, 去建立 char : string 之间的对应关系, 然而还得用一个 set 去保存已经存放的 string 了,例如: pat 阅读全文
posted @ 2018-11-18 05:42 KeepAC 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 经典的八皇后问题, queen 可以攻击的范围: 水平,垂直,斜向, 放置 queen 让所有的queens 不在对方的攻击范围内,问有多少种方法或者产生相应的棋盘。 分析: 依次产生每一行的结果, 先在某行某个位置放一个结果,如果不能产生解 则back tracking 到上一行,重新放置。 以 阅读全文
posted @ 2018-11-17 14:18 KeepAC 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 题意: 设计个字典查询系统, 有 add 和search 两种操作, add 是加入单词到字典里, search 时 可以用 点号通配符 ".", 点号可以匹配一个字母。 分析: 当search 时为 通配符时, 如果直接用back tracking产生 a-z, 比如 有7个点号, 就得生成 26 阅读全文
posted @ 2018-11-17 06:57 KeepAC 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 79题, 给你一个二维的board, 只能往上下左右四个方向走,为你是否能找到单词。 又改成了: 之所以写的不好,主要因为,应该把 边界条件和是否已经被访问 判断放在 下一次函数调用里,而不是本次里, 修改后的程序简单很多。 back traking 体现在 visted[i][j] = true 阅读全文
posted @ 2018-11-17 04:30 KeepAC 阅读(151) 评论(0) 推荐(0) 编辑
摘要: Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10^n. Example: Input: 2 Output: 91 Explanation: The answer shou 阅读全文
posted @ 2018-11-16 13:03 KeepAC 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 667 是很坑爹的一个题目,乍一看和 526 如出一辙, 526. Beautiful Arrangement 题意: 构造 [1,n]的排列,让每个 a[index] % index ==0 或者 index %a[index] ==0, 基本和 46 题一样,就是构造排列。 667题意: 给定两 阅读全文
posted @ 2018-11-16 12:31 KeepAC 阅读(118) 评论(0) 推荐(0) 编辑