- 博客(61)
- 收藏
- 关注
转载 JUnit 单元测试的好文
https://www.cnblogs.com/ysocean/p/6889906.html转载于:https://www.cnblogs.com/keepAC/p/10363785.html
2019-02-12 05:43:00
113
转载 谈一谈 Gradle 的仓库(Repositories)-转
转自:https://my.oschina.net/pingjiangyetan/blog/423380首先,Repository 是什么?Repository 是 文件的集合,这些文件,通过group、name和version 组织起来。在使用上,主要体现为jar 和 xml文件 Gradle 通过这些Repository 找到外部依赖(external depende...
2019-02-12 02:16:00
258
转载 各种容器的初始化以及相互初始化
1D-->1D List:new ArrayList<>(1D_list)1D List添加 2D List List<List<Integer>> result; result.add(new ArrayList<>(curResult))set to list;new Arra...
2019-02-09 08:11:00
184
转载 复习backtracking 并总结
每一个分支把leetcode backtracking 几十个题目重新复习一遍,领略back tracking 精髓。一 排列问题:46/47 Permutations : 46 没有重复数字 47 包含重复数字46: 关键是采用used[i] 来标记一个i 是否已经被选择了, 注意used 状态改变只对子节点状态有效,对 同一层的节点状态是无效的,这也是back t...
2019-02-09 02:56:00
237
转载 学习双向BFS, 在开锁那个题目里很有用
这里有对双向BFS 很好的解释:https://www.geeksforgeeks.org/bidirectional-search/双向BFS 最好的应用是752.Open the Lock转载于:https://www.cnblogs.com/keepAC/p/10357088.html...
2019-02-09 02:51:00
123
转载 String split 注意事项
在做588.Design In-Memory File System时遇到 split 函数的坑。1. String[] strs= ”/a/b/c“.split("/") 得到的是 strs= ["","a","b","c"] 四个字符串,所以应该忽略第一个空字符串2. String[] strs= ”/“.split("/") 得到的是 strs.le...
2019-02-09 02:44:00
93
转载 146. LRU Cache/460. LFU Cache/588. Design In-Memory File System
这三道题真是经典,值得仔细回味。转载于:https://www.cnblogs.com/keepAC/p/10357079.html
2019-02-09 02:34:00
99
转载 703. Kth Largest Element in a Stream/215. Kth Largest Element in an Array/
703 非常经典的一个题,假设有一个不断增加的序列,要求输出第K 大的数int k = 3;int[] arr = [4,5,8,2];KthLargest kthLargest = new KthLargest(3, arr);kthLargest.add(3); // returns 4kthLargest.add(5); // returns 5kt...
2019-01-15 04:32:00
82
转载 347. Top K Frequent Elements/692. Top K Frequent Words
Given a non-empty array of integers, return thekmost frequent elements.Example 1:Input: nums = [1,1,1,2,2,3], k = 2Output: [1,2]Example 2:Input: nums = [1], k = 1Output: [1]非常经典...
2019-01-15 03:54:00
85
转载 414. Third Maximum Number
return thethirdmaximum number in this array. If it does not exist, return the maximum number. The time complexity must be in O(n).Input: [2, 2, 3, 1]Output: 1Explanation: Note that th...
2019-01-15 03:13:00
87
转载 280. Wiggle Sort/324. Wiggle Sort II
280 Given an unsorted arraynums, reorder itin-placesuch thatnums[0] <= nums[1] >= nums[2] <= nums[3]....Example:Input: nums = [3,5,2,1,6,4]Output: One possible answer is [3,5,1...
2019-01-15 03:07:00
86
转载 36. Valid Sudoku/37. Sudoku Solver - 数独问题-- backtracking 经典
题意: 经典的递归题,要求:除了要求 横竖都填满 1~9外, 每个3*3也都要求满足 1~936. 数组可以部分填充, 问是否一个有效的 sudoku.写了个好烧脑的 四重循环来check 3*3 的部分。 重点在于 用数组作为hash 。 然后对于 check 3*3 部分, 其实就是9个小方块, 9个小方块 定点坐标为 [0 0] [0 3] [06] [3 ...
2018-11-25 05:27:00
143
转载 351. Android Unlock Patterns -- back tracking 坑多
android 解锁,规则比较复杂,其中比较复杂的是1) 从1 到3, 如果要穿越2, 那么2必须已经走过了| 1 | 2 | 3 || 4 | 5 | 6 || 7 | 8 | 9 |2) 这样一个九宫格, 定义里竟然1 可以直接到8 的, 不在“穿越” 的定义里!直接看穿越的定义: 把穿越的关系 定义在一个 二维数组中, 这是这题比较巧妙地地方, 比如 1 --&g...
2018-11-22 16:00:00
117
转载 39. Combination Sum vs 377. Combination Sum IV --- 为何377 可以被 memoization,而39不可以
这两题 都是给定 Nums =[1 2 3] target = 4, 用nums 求和构建 target , 求出可能结果不同点:39 题: 认为 [1,1,2] 和 [2,1,1] 是重复结果377 认为 [1,1,2] 和 [2,1,1] 是不同的结果。因此画出两个题目的dfs tree:39 题的 tree 里可以看出, 当放了[1,1 ]后 s...
2018-11-22 04:40:00
83
转载 Trie Tree的构建 -- find/search/searchAll/search Prefix
比如网上一个例子一组单词,inn, int, at, age, adv, ant, 我们可以得到下面的Trie:这里的节点上存的是一个单词,实际上,每个节点走过的路径就是该节点代表的单词.下面这个链接 对Trie tree 比较好的code 模板,针对leetcode 的:https://www.programcreek.com/2014/05/leetcode-i...
2018-11-21 14:10:00
105
转载 425. Word Squares -- back tracking + trie tree(TLE if not)
给你一个字符数组,每个单词长度一样,你从中选单词,组成的 二位数组中 横向和纵向 组成的一维数组都一样。注意1: 单词可以重复被选择注意2. 字符串数组可能非常的大,有1000 个Input:["area","lead","wall","lady","ball"]Output:[ [ "wall", "area", "lead",...
2018-11-21 05:12:00
145
转载 416. Partition Equal Subset Sum/698. Partition to K Equal Sum Subsets - recursion 待续
待续转载于:https://www.cnblogs.com/keepAC/p/9992888.html
2018-11-21 04:33:00
67
转载 383. Ransom Note/691. Stickers to Spell Word-- String, Map, back tracking-- 未完待续
383 easy 题,就是建立字母的hash 表看第一个String 是否能被第二个String 所构建canConstruct("aa", "aab") -> true统计 第二个参数中每个字母的频率,可以用一个int[256] 建立hashmap, 然后统计 第一个String 中字母出现的频率是否被 hashmap 所包含。class Solution...
2018-11-19 14:12:00
96
转载 290/291 Word Pattern I and II -- 290: map 291 map+backtracking
290 为一个简单题,但还是有个小坑的。题意: 给你一个pattern 和 一个用空格split 的的str, 问你两边是否匹配。Input: pattern = "abba", str = "dog cat cat dog"Output: truecode 很简单,一看就是用Map, 去建立 char : string 之间的对应关系, 然而还得用一个 set 去...
2018-11-18 05:42:00
111
转载 51/52. N-Queens -- 待优化
经典的八皇后问题,queen 可以攻击的范围: 水平,垂直,斜向, 放置 queen 让所有的queens 不在对方的攻击范围内,问有多少种方法或者产生相应的棋盘。分析: 依次产生每一行的结果, 先在某行某个位置放一个结果,如果不能产生解 则back tracking 到上一行,重新放置。以 n=4 为例,每个位置都得分解 n=4 份, 算法复杂度为 n^n ,是一个...
2018-11-17 14:18:00
91
转载 211 Add and Search Word - Data structure design--- back tracking, map, set 待续 trie
题意: 设计个字典查询系统, 有 add 和search 两种操作, add 是加入单词到字典里, search 时 可以用 点号通配符 ".", 点号可以匹配一个字母。分析: 当search 时为 通配符时, 如果直接用back tracking产生 a-z, 比如 有7个点号, 就得生成 26^7 个组合,会TLE。以下是TLE的code:class WordD...
2018-11-17 06:57:00
87
转载 79. Word Search/212. Word Search II--图的back tracking -- tier tree 待续
79题,给你一个二维的board, 只能往上下左右四个方向走,为你是否能找到单词。board =[ ['A','B','C','E'], ['S','F','C','S'], ['A','D','E','E']]Given word = "ABCCED", return true.Given word = "SEE", return true...
2018-11-17 04:30:00
123
转载 357. Count Numbers with Unique Digits-- back tacking 或者数学问题
Given anon-negativeinteger n, count all numbers with unique digits, x, where 0 ≤ x < 10^n.Example:Input: 2Output: 91 Explanation: The answer should be the total numbers in the rang...
2018-11-16 13:03:00
75
转载 667. Beautiful Arrangement II-- 类比526 但不能用back tracking
667 是很坑爹的一个题目,乍一看和 526 如出一辙,526.Beautiful Arrangement 题意: 构造 [1,n]的排列,让每个 a[index] % index ==0 或者 index %a[index] ==0, 基本和 46 题一样,就是构造排列。667题意:给定两个整数n和k,构建一个n个元素数组,数组要满足一下要求:假设数组[a1,a2....
2018-11-16 12:31:00
69
转载 526. Beautiful Arrangement-- 和46. Permutations 一样 -back tracking
给一个数N, 产生 一个数列的排列 [1,2,..n]这个数列符合如下条件 : 第index 个数满足两个条件的一个 :1. index % a[index] ==0 或者 2. a[index]%index ==0分析: 和 46 permutations 完全一样, 只是需要在dfs 过程中 加上 判断条件, 并且返回符合结果的个数而不是 排列即可。code 改了几...
2018-11-16 06:11:00
64
转载 306. Additive Number/842. Split Array into Fibonacci Sequence -- back tracking
306.Additive NumberInput: "112358"Output: true Explanation: The digits can form an additive sequence: 1, 1, 2, 3, 5, 8. 1 + 1 = 2, 1 + 2 = 3, 2 + 3 = 5, 3 + 5 = 8题意:把一个字符串拆分,a...
2018-11-16 05:38:00
61
转载 293/294 Flip Game I and II -- back tracking ing
293. 一个input 只有 + 或者-, 每次只能把 “连续2个”+ 变成- 号,下一轮换另一个人做同样操作,如果不存在连续的+,则这个人就失败了。Input: s = "++++"Output: [ "--++", "+--+", "++--"]给你一个初始化的字符串,问你下一次可能的结果。算法: 简单的字符串处理,只要找到连续两个+ 就变成- 然后存...
2018-11-16 04:27:00
80
转载 267. Palindrome Permutation II --back tracking 以及palindrome 的优化方法ing
产生input中 所有permutation 中符合 palindrome 的。Input: "aabb"Output: ["abba", "baab"]分析: 和47.Permutations II 本质上一样的,首先字母有重复的,因此为了避免重复解,得先排序。47题exampleInput: [1,1,2]Output:[ [1,1,2], [1,2...
2018-11-15 03:24:00
97
转载 131. Palindrome Partitioning--back tracking 和93. Restore IP Addresses本质一样
给你一个字符串, 输出他的pattitioning 都是 palindrome 的组合Input:"aab"Output:[ ["aa","b"], ["a","a","b"]]和93 题实际上一样, 给你个字符串长度比较是 3, 你相当于有一个nums = {1,2,3} 的数组,每次去取 一个数求和,当和的长度恰好等于 字符串长度 并且都...
2018-11-15 03:11:00
87
转载 31. Next Permutation-- 数组处理题
竟然被这么一道简单题折腾了好久,WA了很多次。算法: 从后往前找,找到a[i-1] 时,从i 到len 中 最小的 但大于 a[i-1]的数,并且交换。 交换后把i 到 len 进行排序。code 如下: 一开始下标没处理好,21行少了个break, 只得让24行变成 i+2 ,但这样又涵盖不了整个数组是递减排列的情况。Arrays.sort(nums,i+2,nums...
2018-11-14 07:41:00
74
转载 compareTo() and Sort
compareTo() 方法用于将 Number 对象与方法的参数进行比较。可用于比较String, Byte, Long, Integer等,比较String 时比较有用。Integer x = 5; System.out.println(x.compareTo(3)); :1System.out.println(x.compareTo(5)); :0Sys...
2018-11-14 04:36:00
200
转载 527. Word Abbreviation -- 贪心法,排序, Tier Tree -ing
input:["like","god","internal","me","internet","interval","incension","intension","face","intrusion"]output:["l2e","god","internal","me","i6t","interval","inc5n","inte4n","f2e","intr4n"]...
2018-11-13 13:55:00
190
转载 411. Minimum Unique Word Abbreviation--320+408 back tracking
这道题就是320和408两个题目合在一起:https://leetcode.com/problems/valid-word-abbreviation/description/https://leetcode.com/problems/generalized-abbreviation/description/唯一需要注意的是,需要返回最短的长度,而最短的长度中数字...
2018-11-12 15:39:00
143
转载 408. Valid Word Abbreviation --字符串处理
Given s = "internationalization", abbr = "i12iz4n":Return true.abbr 里数字代表相应的字符数,问字符串是否相等虽然是一个easy 的题但却有两个坑:1. abbr 结尾的地方是数字 例如: s= "internationalization" abbr= "i5a11o1" , 因此 return时得加上co...
2018-11-12 13:28:00
176
转载 320. Generalized Abbreviation-- back tracking and bit manipulation(待续)
把一个字符串中字母用数字代替,产生所有的组合数Input: "word"Output:["word", "1ord", "w1rd", "wo1d", "wor1", "2rd", "w2d", "wo2", "1o1d", "1or1", "w1r1", "1o2", "2r1", "3d", "w3", "4"]和78 subsets本质上也是一样的: https://lee...
2018-11-12 08:56:00
94
转载 89. Gray Code --迭代 和 back tracking 两种方法
产生格雷码,格雷码就是前后 两个数在二进制上只有一个bit 的差别先看看格雷码的规律:n =0, [0]n=1, [0 1]n=2: 00 01 11 10n=3: 000 001 011 010-...
2018-11-12 06:04:00
117
转载 93. Restore IP Addresses--back tracking -- 类比39 Combination Sum
93 给你 一串数字,让你求出可能的IP 地址。Input: "25525511135"Output: ["255.255.11.135", "255.255.111.35"]仔细分析一下这题和39题 几乎完全一样呀,39是给你 一个没有重复数组,可以重复使用数组里的数字之和来组成 target. Input: candidates = [2,3,6,7], target =...
2018-11-12 04:39:00
50
转载 17. Letter Combinations of a Phone Number--back tracking--字符数组
17 给出一个电话拨号盘,数字2-9代表一些字母,已知数字,求出所有字母的可能例子 比如 求"23" , 2--->"abc" 3-->"def"画出递归数其实非常简单:和77.Combinations 本质上是一样的, 都是求所排列问题,但和数字排列不同的时,每一次需要遍历的数组不是固定的,而是根据数的层数来决定的。所以需要设定一个tree_level...
2018-11-11 08:06:00
111
转载 401. Binary Watch -- back tracking
题意: 给你个二进制手表,上面 有两排LED等,第一排为hour, 第二排为minutes。 告诉你表上有n 个LED 灯亮着,输出所有可能的时间。题解: 把上面 10个 LED 等 抽象成10个数 0~9, 现在亮着 n (n<9) 个灯,表示从 nums 里 取出 n 个数的“排列”int[] nums = {0,1,2,3,4,5...
2018-11-10 15:36:00
100
转载 139/140. Word Break II/377. Combination Sum IV--back tracking +Memoization
和39.Combination Sum 不同的是,377 可以把不同排列的解认为是不同解,例如 [1,1,2] 和 [2,1,1] 是不同解,并且只需要求出解的个数。例如nums = [1, 2, 3]target = 4The possible combination ways are:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(...
2018-11-10 14:51:00
129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人