
Java面试算法准备
文章平均质量分 89
Java面试算法准备
我要找对象
这个作者很懒,什么都没留下…
展开
-
实习面试之算法准备:数学题
这不难得出,第 1 轮会被按,第 2 轮,第 3 轮,第 6 轮都会被按。dp[i][j] 表示当剩下的石子堆为下标 i到下标 j时,即在下标范围 [i,j] 中,在双方都做最好选择的情况下,先手与后手的最大得分差值为多少。这样一直循环下去,我们发现只要踩到 4 的倍数,就落入了圈套,永远逃不出 4 的倍数,而且一定会输。盏灯的开关,有的被关闭,比如 3,有的被打开,比如 6)…显然,如果对手拿的时候只剩 4 颗石子,那么无论他怎么拿,总会剩下 1~3 颗石子,我就能赢。第一轮,你将会打开所有灯泡。原创 2024-05-02 16:14:07 · 1183 阅读 · 0 评论 -
实习面试算法准备之图论
这个 onPath 数组的操作很像前文 回溯算法核心套路 中做「做选择」和「撤销选择」,区别在于位置:回溯算法的「做选择」和「撤销选择」在 for 循环里面,而对 onPath 数组的操作在 for 循环外面。说了这么多 onPath 数组,再说下 visited 数组,其目的很明显了,由于图可能含有环,visited 数组就是防止递归重复遍历同一个节点进入死循环的。,你从图的某一个节点开始遍历,有可能走了一圈又回到这个节点,而树不会出现这种情况,从某个节点出发必然走到叶子节点,绝不可能回到它自身。原创 2024-04-28 11:15:35 · 1524 阅读 · 0 评论 -
实习算法准备之BFS&DFS
每个拨轮都有10个数字: ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’。输入: deadends = [“8887”,“8889”,“8878”,“8898”,“8788”,“8988”,“7888”,“9888”], target = “8888”可能的移动序列为 “0000” -> “1000” -> “1100” -> “1200” -> “1201” -> “1202” -> “0202”。穷举呗,再简单一点,如果你只转一下锁,有几种可能?原创 2024-04-26 11:15:15 · 837 阅读 · 0 评论 -
面试算法准备:动态规划
观察递归树,很明显发现了算法低效的原因:存在大量重复计算,比如 f(18) 被计算了两次,而且你可以看到,以 f(18) 为根的这个递归树体量巨大,多算一遍,会耗费巨大的时间。更何况,还不止 f(18) 这一个节点被重复计算,所以这个算法及其低效。重叠子问题。下面,我们想办法解决这个问题。原创 2024-04-22 10:35:39 · 778 阅读 · 0 评论 -
面试算法题之回溯
每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]n 皇后问题 研究的是如何将 n 个皇后放置在 n × n 的棋盘上,并且使皇后彼此之间不能相互攻击。你可以 按任意顺序 返回答案。n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。原创 2024-04-19 15:12:32 · 905 阅读 · 0 评论 -
面试算法准备:树
因为前面说了,前序位置是进入一个节点的时候,后序位置是离开一个节点的时候,depth 记录当前递归到的节点深度,你把 traverse 理解成在二叉树上游走的一个指针,所以当然要这样维护。我们应该把计算「直径」的逻辑放在后序位置,准确说应该是放在 maxDepth 的后序位置,因为 maxDepth 的后序位置是知道左右子树的最大深度的。前序位置本身其实没有什么特别的性质,之所以你发现好像很多题都是在前序位置写代码,实际上是因为我们习惯把那些对前中后序位置不敏感的代码写在前序位置罢了。原创 2024-04-16 11:39:12 · 860 阅读 · 1 评论 -
面试算法准备:数组
例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。船的运载能力就是自变量 x,运输天数和运载能力成反比,所以可以定义 f(x) 表示 x 的运载能力下需要的运输天数,target 显然就是运输天数 D,我们要在 f(x) == D 的约束下,算出船的最小载重 x。给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。然后返回 nums 中唯一元素的个数。原创 2024-04-10 11:35:50 · 778 阅读 · 0 评论 -
Java算法题必备知识
【代码】Java算法题必备知识。原创 2024-04-08 09:46:17 · 252 阅读 · 0 评论 -
算法题:树
【代码】算法题:树。原创 2024-04-08 09:30:18 · 233 阅读 · 0 评论 -
实习面试算法题准备之链表
【代码】算法题:链表。原创 2024-04-08 09:11:05 · 174 阅读 · 0 评论