![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
GaleZhang
这个作者很懒,什么都没留下…
展开
-
LeetCode1494 并行课程II——状态压缩DP
前言原创 2020-09-14 17:46:33 · 274 阅读 · 0 评论 -
LeetCode LCP09:最小跳跃次数——广度优先搜索的优雅写法
前言看评论又学了一手:以往在广度优先搜索的场景中,使用一个队列,如果想进行层次的遍历,我的做法是再new一个队列,把新出现的元素放到新队列中,完成后再将新队列赋给原先的指针。即while(!queue.isEmpty()) { Queue<Integer> next = new LinkedList(); int cur = queue.poll(); while(!queue.isEmpty()) { //add some item to new queue } //fin原创 2020-09-14 17:19:49 · 254 阅读 · 0 评论 -
LeetCode1531:DP的常见思路——分情况讨论
前言在使用动态规划解决问题时,最关键的一步就是列出状态转移方程,完善代码一般就是水磨工夫了。但是状态转移方程并不好列,我们需要将问题拆分成子问题,并找到如何用子问题的解递推我们当前问题的解。要找到状态转移方程,首先我们要找到一种最合适的方法去表示状态,或者说中间结果,然后找到这样表示状态时状态间是如何递推的。这两步都很关键。简单的DP问题其状态转移方程往往是很容易看出的,当前的结果一般是之前结果的加减乘除或者逻辑运算。而复杂一些的DP问题就会转几个弯,一般是无法直接从中间结果得到,需要根据具体的问题做原创 2020-09-02 16:37:18 · 566 阅读 · 0 评论 -
LeetCode1483 树节点的第K个祖先——构造缓存,查询优化到O(logN)
题目LeetCode1483 树节点的第K个祖先给你一棵树,树上有 n 个节点,按从 0 到 n-1 编号。树以父节点数组的形式给出,其中 parent[i] 是节点 i 的父节点。树的根节点是编号为 0 的节点。请你设计并实现 getKthAncestor(int node, int k) 函数,函数返回节点 node 的第 k 个祖先节点。如果不存在这样的祖先节点,返回 -1 。树节点的第 k 个祖先节点是从该节点到根节点路径上的第 k 个节点。提示:1 <= k <= n &原创 2020-09-11 11:54:33 · 249 阅读 · 0 评论