重生之我要当分子
重生之我要当分子
全部文章
分类
题解(3)
归档
标签
去牛客网
登录
/
注册
重生之我要当分子的博客
全部文章
(共277篇)
题解 | 合唱队形
解题思路 这是一个求最长山峰序列的问题,可以通过动态规划来解决: 对于每个位置 ,分别求出以 为山峰的最长上升子序列长度和最长下降子序列长度 使用两个 数组: 表示从左到 的最长上升子序列长度 表示从 到右的最长下降子序列长度 遍历所有位置,找出最长的山峰序列 用总人数减去最长山...
2024-12-18
0
15
题解 | 拦截导弹
解题思路 这道题包含两个子问题: 最长非递增子序列(第一个答案) 使用动态规划, 表示以第 个数结尾的最长非递增子序列长度 最少需要的拦截系统数量(第二个答案) 贪心算法,每次选择可以接的最大数 类似于分配会议室的思路 代码 c++ java python #in...
2024-12-18
0
17
题解 | 矩阵的最小路径和
解题思路 这是一个典型的动态规划问题: 表示到达位置 的最小路径和 每个位置只能从上方或左方到达 状态转移方程: 需要特别处理第一行和第一列,因为它们只能从一个方向到达 代码 c++ java python #include <iostream> #includ...
2024-12-18
0
24
题解 | 最小花费爬楼梯
解题思路 这是一个动态规划问题: 每一步可以选择跨一步或两步 表示到达第 个台阶的最小花费 最后需要比较到达最后一个台阶和倒数第二个台阶的花费 代码 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
24
题解 | 最长公共子序列(一)
解题思路 定义 表示 的前 个字符和 的前 个字符的最长公共子序列长度 如果 ,则 如果 ,则 最终答案为 代码 c++ java python #include <iostream> #include <vector> #include...
2024-12-18
0
20
题解 | 最长上升子序列(一)
解题思路 这是一个经典的动态规划问题。我们可以用以下思路解决: 定义 表示以第i个数字结尾的最长上升子序列的长度 对于每个位置 ,遍历它前面的所有位置 如果 ,说明可以将 接在以 结尾的上升子序列后面 状态转移方程: 其中 且 最终答案为 数组中的最大值 代码 c++ j...
2024-12-18
0
45
题解 | 连续子数组最大和
解题思路 使用 算法,维护两个变量: :记录全局最大和 :记录当前位置结尾的最大和 对于每个位置 ,有两种选择: 将当前数加入前面的子数组() 从当前数开始新的子数组() 每次更新 后,更新 代码 cpp java python #include &l...
2024-12-16
0
21
题解 | 三角形最小路径和
解题思路: 这是一个动态规划问题 可以从底向上或从上向下进行动态规划 我们选择从底向上,因为这样更容易处理边界情况 从三角形的最后一行开始,向上遍历 对于每一行的每个位置 , 表示从该位置到底部的最小路径和 状态转移时,当前位置的最小路径和等于下一行相邻两个位置的最小值加上当前位置的值 最终 就...
2024-12-16
0
36
首页
上一页
19
20
21
22
23
24
25
26
27
28
下一页
末页