重生之我要当分子
重生之我要当分子
全部文章
分类
题解(3)
归档
标签
去牛客网
登录
/
注册
重生之我要当分子的博客
全部文章
(共295篇)
题解 | 集合
解题思路 这是一个集合合并问题。关键点: 数据结构选择: 使用 去重 或使用排序后合并 输出要求: 升序输出 元素间用空格分隔 行末无空格 代码 cpp java python #include <iostream> #include <se...
2025-01-01
0
10
题解 | 字符串交错组成
解题思路 这是一个字符串交错组成问题,可以使用动态规划求解。关键点: 动态规划定义: 表示 的前 个字符和 的前 个字符是否能交错组成 的前 个字符 范围:, 范围: 状态转移: 如果 : 如果 : 边界条件: 第一行:只用 串匹配 第一列:只用 串匹配 ...
2025-01-01
0
9
题解 | 保卫方案
解题思路 这是一个使用单调栈解决的环形山峰观察问题。关键点: 单调栈策略: 从最高山峰开始遍历 维护单调递减栈 处理相同高度的山峰 计算可见对数: 相同高度山峰之间的对数: 出栈时与栈内元素形成的对数 最后栈内剩余元素的处理 代码 cpp java python ...
2025-01-01
0
6
题解 | 最小编辑代价
解题思路 这是一个编辑距离问题的变种。关键点: 动态规划定义: 表示将 的前 个字符转换为 的前 个字符的最小代价 :插入代价 :删除代价 :修改代价 状态转移: 当 时: 否则取以下三种操作的最小值: 插入: 删除: 修改: 边界条件: (全部删除) (全部...
2025-01-01
0
10
题解 | 小球的距离
解题思路 这是一个等比数列求和问题。关键点: 单个小球的路径: 下落: 米 反弹: 米 下落: 米 反弹: 米 下落: 米 ...直到不再反弹 等比数列求和: 第一次下落: 后续每次上下: 总路程 = 四个小球: 每个小球的路程都是初始高度的3倍 总路程 = 代码 ...
2025-01-01
0
12
题解 | 最长公共子串
解题思路 这是一个最长公共子串问题。关键点: 动态规划定义: 表示以 和 结尾的最长公共子串长度 注意与最长公共子序列的区别:子串必须连续 状态转移: 当 时: 否则: 最终结果: 需要记录 数组中的最大值 最大值即为最长公共子串的长度 代码 cpp ...
2025-01-01
0
20
题解 | 上台阶
解题思路 这是一个斐波那契数列变种问题。关键点: 递推关系: 到达第 级的方法 = 从 级跨1步 + 从 级跨2步 数组存储: 直接初始化数组的前三个值:[0,1,2] 从第四个值开始递推计算 取模运算: 每次计算时都进行取模,防止溢出 代码 cpp ...
2025-01-01
0
16
题解 | 最长公共子序列
解题思路 这是一个最长公共子序列(LCS)问题。关键点: 动态规划定义: 表示 的前 个字符和 的前 个字符的最长公共子序列长度 状态转移: 当 时: 否则: 边界条件: 代码 cpp java python class LCS { p...
2024-12-31
0
24
题解 | 小东分苹果
解题思路 这是一个递归解法的苹果分配问题。关键点: 递归函数定义: getInitial(n, k, x):表示还剩 头熊,当前苹果数为 时是否可行 :总熊数 :剩余熊数 :当前苹果数 递归条件: 基础情况:k=0时返回true,表示所有熊都分完了 剪枝条件:(x-1)%n != ...
2024-12-31
0
12
题解 | 最长递增子序列
解题思路 这是一个最长上升子序列(LIS)问题,使用二分查找优化。关键点: 贪心策略: 维护一个递增数组 表示长度为 的上升子序列的最小末尾元素 二分查找: 对于每个数字,在 中找到第一个大于它的位置 更新该位置的值为当前数字 结果: 数组的长度就是最长上升子序列的长...
2024-12-31
0
18
首页
上一页
9
10
11
12
13
14
15
16
17
18
下一页
末页