
面试题
太阳与尼采
这个作者很懒,什么都没留下…
展开
-
常见面试题之通用范式
目录递归模板:分治策略模板DFS模板:BFS模板面试题中有很多套路,总结熟记以下模板可以见招拆招!递归模板:参考盗梦空间Def recursion(level, param1, param2, …):# recursion terminatorIf(level > MAX_LEVEL) Print_result Return# process logic in current levelProcess_data(leve +1 ,p1, …)# drill downSelf原创 2020-05-27 22:00:10 · 323 阅读 · 0 评论 -
常见面试题之MAP(一)
目录15. 三数之和98. 验证二叉搜索树236. 二叉树的最近公共祖先50. Pow(x, n)169. 多数元素15. 三数之和难度中等2137给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -原创 2020-05-27 21:59:29 · 270 阅读 · 0 评论 -
常见面试题之优先队列(一)
目录20有效的括号code232.用栈实现队列code703数据流中的第K大元素code20有效的括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()...原创 2020-05-06 17:33:38 · 338 阅读 · 0 评论 -
常见面试题之双指针操作(二)
目录leetcode 206反转链表codeleetcode 24两两交换其中相邻的节点codeleetcode 141环形链表codeleetcode 206反转链表反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用...原创 2020-05-06 13:25:17 · 263 阅读 · 0 评论 -
常见面试题之动态规划(三)
300. 最长上升子序列给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(n2) 。进阶: 你能将算法的时间复杂度降低到 O(n log n)...原创 2020-04-21 19:28:00 · 174 阅读 · 0 评论 -
常见面试题之动态规划(二)
目录120. 三角形最小路径和152. 乘积最大子数组121. 买卖股票的最佳时机188. 买卖股票的最佳时机 IV120. 三角形最小路径和给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5...原创 2020-04-20 23:07:55 · 211 阅读 · 0 评论 -
常见面试题之动态规划(一)
目录leetcode 647回文子串解答leetcode 647回文子串给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。示例 1:输入: "abc"输出: 3解释: 三个回文子串: "a", "b", "c".示例 2:输入: "aaa"输出: 6说明: 6个回文子串: "a",...原创 2020-04-19 17:36:20 · 3243 阅读 · 0 评论 -
常见面试题之双指针操作(一)
目录leetcode 796旋转字符串最优解答leetcode 27移除元素最优解答leetcode 796旋转字符串给定两个字符串, A 和 B。A 的旋转操作就是将 A 最左边的字符移动到最右边。 例如, 若 A = ‘abcde’,在移动一次之后结果就是’bcdea’ 。如果在若干次旋转操作之后,A 能变成B,那么返回True。示例 1:输入: A = 'abcde', B = ...原创 2020-04-19 13:52:43 · 335 阅读 · 0 评论 -
常见面试题之代码改进篇(一)
目录求斐不拉契数列普通模式优化模式求斐不拉契数列1、求解有哪些方式?2、如何改进?3、时间复杂度,空间复杂度分别是多少?普通模式T: O(2^n)int query_fib(int n){ return n < 2 ? n : query_fib(n - 1) + query_fib(n - 2);}优化模式增加缓存T: O(n) int mem[100]; ...原创 2020-04-19 23:14:07 · 388 阅读 · 0 评论 -
常见面试题之队列操作
目录leetcode 103二叉树的锯齿形层次遍历答案leetcode 103二叉树的锯齿形层次遍历给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回锯齿形层次遍历如...原创 2020-04-14 11:23:43 · 209 阅读 · 0 评论