一只程序小洋
一只程序小洋
全部文章
刷题经验
java底层学习(4)
java总结知识点(5)
js(2)
力扣刷题(33)
学习路线总结(3)
学习问题解决(4)
记录跨域问题解决(3)
读书笔记(1)
归档
标签
去牛客网
登录
/
注册
一只程序小洋
全部文章
/ 刷题经验
(共32篇)
记录力扣刷题算法经验
(切记!!勿急功近利!!)遇到一道题涉及到的数据结构,一定先去对应的复习,不要急于图求将题做完就结束。本质是通过题目去学习复习知识点 有时候想到做一题花了1到2个小时,觉得十分划不着,心里也很焦灼,一定要沉住气,调整心态继续攻克难题 分享一个大概方向的力扣做题思路: 1,第一遍:知道。直接看答案...
2021-08-03
2
641
记录DFS和递归解决LC第547省份问题(本质是图的连通分量)
1.DFS(深度优先搜索):一种用于遍历或搜索树或图的算法。 沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过或者在搜寻时结点不满足条件,搜索将回溯到发现节点v的那条边的起始节点。整个进程反复进行直到所有节点都被访问为止。属于盲目搜索,最糟糕的情况算法时间复杂度为O(!...
2021-08-03
0
416
回溯法(+DFS):空间换时间(LC46)
回溯法的核心是回溯。在搜索到某一节点的时候,如果我们发现目前的节点(及其子节点)并不是需求目标时,我们回退到原来的节点继续搜索,并且把在目前节点修改的状态还原。这样的好处是我们可以始终只对图的总状态进行修改,而非每次遍历时新建一个图来储存状态。 在具体的写法上,它与普通的深度优先搜索一样,都有 [...
2021-08-03
0
290
关于数组变量嵌套写法:List<List<Integer>> res=new ArrayList<>();
其实就是在List中存放List: 可以理解示例中的为向res中继续加list List<List<Integer>> res = new ArrayList<ArrayList<Integer>>(); List<Integer>...
2021-08-03
0
425
回溯法(+DFS):注意理解回溯的地方是重点(LC77)
回溯法的核心是回溯。在搜索到某一节点的时候,如果我们发现目前的节点(及其子节点)并不是需求目标时,我们回退到原来的节点继续搜索,并且把在目前节点修改的状态还原。这样的好处是我们可以始终只对图的总状态进行修改,而非每次遍历时新建一个图来储存状态。 在具体的写法上,它与普通的深度优先搜索一样,都有 [...
2021-08-03
0
411
经典DFS+回溯:LC79
使用深度优先搜索(DFS)和回溯的思想实现。 关于判断元素是否使用过,我用了一个二维数组visited对使用过的元素做标记 我将每步的步骤详细解释了一下:更方便复习以及参考。 public class Solution { private static final int [][]...
2021-08-03
0
344
理解广度优先搜索(BFS)!
BFS:宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。其别名又叫BFS,属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它...
2021-08-03
0
366
经典动态规划
1.维基百科的描述:“动态规划(Dynamic Programming, DP)在查找有很多重叠子问题的情况的最优解时有效。它将问题重新组合成子问题。为了避免多次解决这些子问 题,它们的结果都逐渐被计算并被保存,从简单的问题直到整个问题都被解决。因此,动态规划 保存递归时的结果,因而不会...
2021-08-03
0
533
经典动态规划+实例题目实战(02)
1.维基百科的描述:“动态规划(Dynamic Programming, DP)在查找有很多 重叠子问题的情况的最优解时有效。它将问题重新组合成子问题。为了避免多次解决这些子问 题,它们的结果都逐渐被计算并被保存,从简单的问题直到整个问题都被解决。因此,动态规划 保存递归时的结果,因而不会在解...
2021-08-03
0
412
经典动态规划:二维
题目: 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 题解: 动态规划: 由于路径的方向只能是向下或向右,因此网格的第一行的每个元素只能从左上角元素开始向右移动到达,网格的第一列的每...
2021-08-03
0
366
首页
上一页
1
2
3
4
下一页
末页