伪斜杠青年
人们总是混淆了欲望和理想
33 | 面试题:数独问题
37. 解数独这题白板还确实有点复杂 数独的填充满足以下规律: 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9&...
32 | 面试题:N皇后问题
51. N皇后 解法:搜索,DFS递归 思路:每层递归,枚举每一列,确认皇后放置位置。判断格子能不能放有两种方式: 暴力 把整个盘都扫一遍。剪枝,用缓存将已经存在的位置保存下来。 保存位置可使用数组r...
31 | 理论讲解:剪枝
wiki:剪枝 相关题目: 51. N皇后 52. N皇后 II 37. 解数独 36. 有效的数独
30 | 面试题:生成有效括号组合
22. 括号生成 解法一:数学归纳法 直接按 n=1...n 的做法,一个个写岀来,抱歉我写不出来。 解法二:递归搜索 DFS 不推荐 当 n 给定后,字符串的长度已经给定,大小为2n,每个格子都可以...
29 | 面试题:二叉树的最大和最小深度
104. 二叉树的最大深度 解法一:DFS递归 时间复杂度:O(N) 图解:来自leetcode 官方 /** * Example: * var ti = TreeNode(5) * var v = ...
28 | 面试题:二叉树层次遍历
102. 二叉树的层序遍历 解法一:BFS 直接遍历,直接存放,一层一层放完。 判断当前层已结束的两种方法: 将当前层数保存到队列中(不推荐)Beetch process(代码中体现) 时间复杂度:O...
26 27| 理论讲解:广度优先搜索与深度优先搜索
广度优先搜索(Breadth-First-Search) 在树(图/状态集)中寻找特定节点 How the BFS would work BFS 模板代码:倾向于队列 需要注意的地方:对于树可以省略 ...
25 | 面试题:买卖股票的最佳时机 贪心解法
122. 买卖股票的最佳时机 II 背景:只能持有一股,买卖无数次。保证收益最大化。 解法一:搜索,DFS 深度搜索。 每天可以有两个操作: 买一股卖一股 遍历每个元素,记录买一股买一股的收益,递归的...
24 | 理论讲解:贪心算法
贪心 Greedy wiki 贪⼼法,⼜称贪心算法、贪婪算法:在对问题求解时,总是做出在当前看来是最好的选择。 适⽤ Greedy 的场景 简单地说,问题能够分解成子问题来解决,子问题的最优解能递推到...