重生之我要当分子
重生之我要当分子
全部文章
分类
题解(3)
归档
标签
去牛客网
登录
/
注册
重生之我要当分子的博客
全部文章
(共295篇)
题解 | 矩阵的最小路径和
解题思路 这是一个典型的动态规划问题: 表示到达位置 的最小路径和 每个位置只能从上方或左方到达 状态转移方程: 需要特别处理第一行和第一列,因为它们只能从一个方向到达 代码 c++ java python #include <iostream> #includ...
2024-12-18
0
25
题解 | 最小花费爬楼梯
解题思路 这是一个动态规划问题: 每一步可以选择跨一步或两步 表示到达第 个台阶的最小花费 最后需要比较到达最后一个台阶和倒数第二个台阶的花费 代码 c++ java python #include <iostream> #include <vector...
2024-12-18
0
19
题解 | 跳台阶扩展问题
解题思路 这是一道动态规划的题目,我们可以这样分析: 当青蛙处在第 级台阶时,它可以从前面的任意一级台阶跳过来 因此 同理 两式相减得: 最终可以推导出 代码 c++ java python #include <iostream> using namespa...
2024-12-18
0
19
题解 | 斐波那契数列#
解题思路 斐波那契数列的计算有多种方法,这里使用最简单的迭代方法: 特判 或 的情况,直接返回 使用两个变量 和 分别记录前两个数 迭代 次,每次计算下一个斐波那契数 最终 即为所求的第 个斐波那契数 代码 c++ java python #include &l...
2024-12-18
0
25
题解 | 最长公共子序列(一)
解题思路 定义 表示 的前 个字符和 的前 个字符的最长公共子序列长度 如果 ,则 如果 ,则 最终答案为 代码 c++ java python #include <iostream> #include <vector> #include...
2024-12-18
0
21
题解 | 最长上升子序列(一)
解题思路 这是一个经典的动态规划问题。我们可以用以下思路解决: 定义 表示以第i个数字结尾的最长上升子序列的长度 对于每个位置 ,遍历它前面的所有位置 如果 ,说明可以将 接在以 结尾的上升子序列后面 状态转移方程: 其中 且 最终答案为 数组中的最大值 代码 c++ j...
2024-12-18
0
47
题解 | 连续子数组最大和
解题思路 使用 算法,维护两个变量: :记录全局最大和 :记录当前位置结尾的最大和 对于每个位置 ,有两种选择: 将当前数加入前面的子数组() 从当前数开始新的子数组() 每次更新 后,更新 代码 cpp java python #include &l...
2024-12-16
0
22
题解 | 三角形最小路径和
解题思路: 这是一个动态规划问题 可以从底向上或从上向下进行动态规划 我们选择从底向上,因为这样更容易处理边界情况 从三角形的最后一行开始,向上遍历 对于每一行的每个位置 , 表示从该位置到底部的最小路径和 状态转移时,当前位置的最小路径和等于下一行相邻两个位置的最小值加上当前位置的值 最终 就...
2024-12-16
0
36
题解 | 相差不超过k的最多数
解题思路 一、问题分析 题目要求 从数组中选择数字 任意两数差值不超过 求最多可选数字个数 关键点 差值限制意味着选择的数字要在一个范围内 排序后可以简化问题 基本思路 先对数组排序 使用滑动窗口 窗口内的数字差值都不超过 维护最大窗口大小 代码 cpp j...
2024-12-14
0
17
题解 | 【模板】哈夫曼编码
题目要求 种字符的字符串 每种字符出现次数为 求哈夫曼编码后的最短长度 哈夫曼编码原理 出现频率高的字符用短编码 出现频率低的字符用长编码 构建二叉树来得到编码 解题思路 核心算法 1. 每次选择两个最小的频率合并 2. 合并后的频率为两者之和 3. 重复此过程直到只剩一个节...
2024-12-14
0
128
首页
上一页
21
22
23
24
25
26
27
28
29
30
下一页
末页