沐林耀锦城
沐林耀锦城
全部文章
分类
归档
标签
去牛客网
登录
/
注册
沐林耀锦城的博客
TA的专栏
0篇文章
0人订阅
好易学数据结构
0篇文章
0人学习
全部文章
(共26篇)
题解 | #矩阵的最小路径和#
秒懂【最小路径和】!动态规划一步步拆解。 1.思路 从左上角到右下角,移动的方向是向左或者向下。在移动的过程中需要获取元素的值,因此需要将当前元素的值累计上。对于当前的状态,从上侧、左侧选择最小的。 dp[i][j] = min(dp[i - 1][j], dp[i][j - 1]) + mat...
2025-07-23
2
34
题解 | #不同路径的数目(一)#
秒懂【不同路径】!动态规划一步步拆解。 1.思路 本题给定了一个矩阵,从左上角到右下角移动,移动的方向为:向右或者向下。因此:dp[i][j] = dp[i - 1][j] + dp[i][j - 1] (从上面下来 或者从左边过来)。 如果文字描述的不太清楚,你可以参考视频的详细讲解:B站@...
2025-07-22
2
36
题解 | #有重复项数字的全排列#
秒懂【全排列】!回溯算法一步步拆解。 1.思路 通过回溯法实现数字项的全排列,要特别留意重复数字的处理。具体思路如下: 参考回溯算法模板,进行以下操作: 遍历每一个元素,以该元素作为开头的数字数列。首先选取该数字,并标记该数字已经使用过;再递归选择其他数字;撤销该数字,让其他数字作为开头。缩小...
2025-07-22
2
36
题解 | #没有重复项数字的全排列#
秒懂【全排列】!回溯算法一步步拆解。 1.思路 下面需要重点来看一下什么是回溯算法: 回溯算法是一种通过试错法(试探+回退)解决约束满足问题的通用策略,常用于解决组合优化、排列、子集生成等问题。其核心思想是逐步构建解,若发现当前路径无法达成目标,则回退到上一步尝试其他可能性。 核心思想 试探...
2025-07-22
2
49
题解 | #缺失的第一个正整数#
1.思路 未排序的整数数组nums,需要找到缺失的第一个正整数,可以将数组中的内容添加到set中(主要考虑到set查询的速度优势),同时记录数组中的最大正整数n,之后从1到n遍历整数,对比遍历到的整数是否已经在set中。 具体思路是: 定义一个哈希表(set); 将数组中的值存储到set中...
2025-07-21
2
27
题解 | #合并k个已排序的链表#
秒懂【合并K个链表】!超清晰图解一步步拆解。 1.思路 根据题目要求,时间复杂度 O(nlogk)。如果K个升序的链表如果执行两两合并,时间复杂度(n*k^2)不满足要求。这时我们可以借助于堆(复杂度为nlogk)来完成K个链表的排序。 假如链表分别为:1→2、 1→4→5与6,合并之后为:1→...
2025-07-21
2
38
题解 | #合并两个排序的链表#
秒懂【链表合并】!超清晰图解一步步拆解。 1.思路 假如要合并的两个链表分别为: 1→3→5与 2→4→6,对他们两个链表合并,合并之后的链表为: 1→2→3→4→5→6。结构如下图所示。 第一步:定义临时虚拟头节点与指针变量。指针变量有3个,cur用于操作的链表,h1用于链表1节点值的对比,h...
2025-07-18
2
49
题解 | #有效括号序列#
用栈2步轻松搞定【有效括号判断】。 1.思路 题目要求,字符串:仅包含:'(',')','{','}','['和']'。因此可以通过栈完成括号的匹配。 如果文字描述的不太清楚,你可以参考视频的详细讲解:B站@好易学数据结构 2.代码 2.1 Python代码 # # 代码中的类名、方法名、参数名...
2025-07-18
2
44
题解 | #最长回文子串#
秒懂【最长回文子串】!动态规划一步步拆解。 1.思路 对于回文,定义两个变量i和j,都指向字符串对应的字符。i和j变量回文判断指向如下图所示。刚开始的时候i、变量都指向同一个字符,之后i尝试向左移动,j变量尝试向右移动。 因此变量 i 取值范围(从最后一个元素到第0个元素,从后往前遍历):arr[...
2025-07-18
2
59
题解 | #链表相加(二)#
秒懂【链表相加】!超清晰图解一步步拆解。链表相加有的时候也叫两数相加。 1.思路 对于给定的两个链表相加,首先是最后两个节点值的相加,接下来是倒数第二节点值的相加,从后向前执行节点值的相加。即:节点7与节点3相加,再执行节点3与节点6相加(还需加上进位数),最后是节点9与进位数的相加。 也就是说...
2025-07-18
2
54
首页
上一页
1
2
3
下一页
末页