1143. 最长公共子序列(LCS)
1143. 最长公共子序列(LCS) 最长公共子序列(Longest Common Subsequence,简称 LCS)是一道非常经典的面试题目,因为它的解法是典型的二维动态规划,大部分比较困难的字符串问题都和这个问题一个套路,比如说编辑...
1143. 最长公共子序列(LCS) 最长公共子序列(Longest Common Subsequence,简称 LCS)是一道非常经典的面试题目,因为它的解法是典型的二维动态规划,大部分比较困难的字符串问题都和这个问题一个套路,比如说编辑...
难难难难难!对象的创建七连问 关于 Object o = new Object() 1、 请解释一下对象的创建过程?(半初始化) 2、 加问 DCL 与 volatile 问题?(指令重排) 3、 对象在内存中的存储布局?(对象与数组的存储...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
236. 二叉树的最近公共祖先 解题思路 祖先的定义: 若节点 在节点 的左(右)子树中,或 ,则称 是 的祖先。 最近公共祖先的定义: 设节点 为 节点 的某公共祖先,若其左子节点 和 右子节点 都不是 的公共祖先,则称 是 “最近的公共...
874. 模拟行走机器人 审题 以示例2为例,先把题目意思搞明白。 输入: commands = [4, -1, 4, -2, 4], obstacles = [[2,4]] 输出: 机器人所经过的每个坐标点 (x, y) 到原点的欧式距离...
贪心算法 贪心算法 Greedy 贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(最有利)的选择,从而希望导致结果是全局最好或最优的算法。 贪心算法与动态规划的不同在于它对每个子问题的解决方案都做出选择,不能回退。动态规划会保存以...
122. 买卖股票的最佳时机 II 解题思路 方法1:暴力搜索 可能暴力搜索不能让有些面试官满意,但我觉得可以以搜索算法为起点,考虑更好的算法。 根据题意,没有限制交易次数,在每一天,我们就可以根据当前是否持有股票选择相应的操作,这里 “暴...
102. 二叉树的层序遍历 解题思路 DFS 与 BFS 让我们先看看在二叉树上进行DFS遍历和BFS遍历的代码比较。 DFS 遍历使用递归: void dfs(TreeNode root) { if (root == null) { re...
深度优先搜索和广度优先搜索 关于搜索&遍历 对于搜索来说,我们绝大多数情况下处理的都是叫 “所谓的暴力搜索” ,或者是说比较简单朴素的搜索,也就是说你在搜索的时候没有任何所谓的智能的情况在里面考虑,很多情况下它做的一件事情就是把所有...
46. 全排列 解题思路 解决一个回溯问题,实际上就是一个解决策树的遍历过程。你只需要思考3个问题: 1、 路径:也就是已经做出的选择。 2、 选择列表:也就是你当前可以做的选择。 3、 结束条件:也就是到达决策树底层,无法再做选择的条件。...
315.计算右侧小于当前元素的个数 解题思路 1、 暴力算法,两层for循环嵌套, O(n^2) 最后测试会超时,需要优化。 2、 方法1:使用 BST(二叉搜索/排序数) BST(二叉搜索/排序数) Java代码 class Soluti...