- 博客(335)
- 资源 (11)
- 收藏
- 关注
原创 git:删除上一次 commit 中的某个文件,并重新提交
将 “文件路径” 替换为要删除的文件的实际路径。这将从 Git 仓库中删除该文件,并将其放入暂存区。git rm 相当于 linux rm + git add 命令。之前的提交记录会被新的提交覆盖
2023-10-24 15:30:03
1634
原创 LeetCode142:环形链表II
给定一个链表的头节点 head ,返回链表开始入环的第一个节点。如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改 链表。示例 1:输入:head = [3,2,0,-4], pos = 1。
2023-10-12 10:20:42
147
原创 LeetCode141:环形链表
如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。输入:head = [3,2,0,-4], pos = 1。给你一个链表的头节点 head ,判断链表中是否有环。输入:head = [1,2], pos = 0。解释:链表中有一个环,其尾部连接到第二个节点。解释:链表中有一个环,其尾部连接到第一个节点。输入:head = [1], pos = -1。解释:链表中没有环。
2023-09-08 14:24:07
412
原创 LeetCode21:合并两个有序链表
如果 l1 或者 l2 一开始就是空链表,只需要返回另一个链表。否则,判断 l1 和 l2 哪一个链表的头节点的值更小,然后递归查找剩余节点里值最小的节点,并赋值给当前节点的下一个节点。如果两个链表有一个为空,返回另一个链表结束递归。
2023-06-30 17:46:42
227
原创 LeetCode70:爬楼梯
第 x 级台阶的方案数是爬到第 x−1 级台阶的方案数和爬到第 x−2 级台阶的方案数的和。因为每次只能爬 1 级或 2 级,所以 f(x) 只能从 f(x−1) 和 f(x−2) 转移过来,而这里要统计方案总数,我们就需要对这两项的贡献求和。
2023-06-20 16:06:05
106
原创 CompletableFuture 使用教程
CompletableFuture实现了CompletionStage接口和Future接口,CompletionStage是对Future的一个扩展,增加了异步回调、流式处理、多个Future组合处理的能力,使Java在处理多任务的协同工作时更加顺畅便利。Future没有提供通知机制,Future是否执行完任务需要通过轮询isDone这个方法查询执行结果或者调用get()方法阻塞任务执行,CompletionStage解决了该问题,前一个任务执行成功后可以自动触发下一个任务的执行,中间无需等待。
2022-11-29 17:12:21
1140
原创 算法8:弗洛伊德算法
和Dijkstra算法一样,弗洛伊德(Floyd)算法也是一种用于寻找给定的加权图中顶点间最短路径的算法。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名;弗洛伊德算法(Floyd)计算图中各个顶点之间的最短路径;迪杰斯特拉算法用于计算图中某一个顶点到其他顶点的最短路径;弗洛伊德算法 VS 迪杰斯特拉算法:迪杰斯特拉算法通过选定的被访问顶点,求出从出发访问顶点到其他顶点的最短路径;
2022-11-10 21:27:16
244
原创 算法7:迪杰斯特拉算法
迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个结点到其他结点的最短路径。它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。
2022-11-06 17:38:29
522
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人