重生之我要当分子
重生之我要当分子
全部文章
分类
题解(3)
归档
标签
去牛客网
登录
/
注册
重生之我要当分子的博客
全部文章
(共295篇)
题解 | 买卖股票的最好时机(二)
解题思路 这是一道可以多次买卖股票的问题,关键是要理解: 可以在同一天卖出后再买入 只要后一天价格比前一天高,就可以获得这个差价的利润 最终的最大利润就是所有上涨天数的差价之和 因此我们可以: 遍历价格数组 如果当天价格比前一天高,就把差价加到总利润中 这样就能获得最大收益 代码 c+...
2024-12-22
0
16
题解 | 买卖股票的最好时机(一)
解题思路 要求最大收益,我们需要找到最低的买入价格和在该买入价格之后的最高卖出价格。可以遍历一次数组: 用一个变量记录当前遍历过的最低价格 用另一个变量记录当前能获得的最大利润 对于每个价格,尝试更新最低价格,并计算当前价格卖出能获得的利润 代码 c++ java python ...
2024-12-22
0
15
题解 | 跳跃游戏(三)
解题思路 这是一个求最少跳跃次数的问题,可以通过贪心算法来解决: 维护当前能到达的最远位置 维护当前这一跳能到达的边界 维护最少跳跃次数 遍历数组时: 更新当前能到达的最远位置 当到达当前跳跃的边界时,更新边界并增加跳跃次数 如果最终不能到达终点,返回 代码 cpp ja...
2024-12-18
0
20
题解 | 跳跃游戏(二)
解题思路 使用 数组记录到达每个位置能获得的最大积分 对于每个位置 ,遍历其能跳到的所有位置 状态转移方程: 需要先判断位置是否可达,使用一个布尔数组记录可达性 最后检查终点是否可达,如果可达则返回 ,否则返回 代码 cpp java python #include &l...
2024-12-18
0
18
题解 |跳跃游戏(一)
解题思路 这是一个判断能否跳到数组末尾的问题,可以通过贪心算法来解决: 维护一个变量 ,表示当前能够到达的最远位置 遍历数组,对于每个位置 : 如果 超过了 ,说明无法到达该位置,返回 更新 如果能遍历完整个数组,说明可以到达末尾 代码 cpp java python ...
2024-12-18
0
23
题解 | 不相邻取数
解题思路 这是一个求不相邻数字最大和的问题,可以通过动态规划来解决: 定义 表示前 个数中能选择的不相邻数字的最大和 对于第 个数,有两种选择: 选择第 个数: 不选择第 个数: 状态转移方程: 初始条件: 代码 cpp java python #in...
2024-12-18
0
16
题解 | 最长回文子序列
解题思路 这是一个求最长回文子序列的问题,可以通过动态规划来解决: 定义 表示字符串 在区间 内的最长回文子序列长度 状态转移方程: 当 时: 当 时: 初始条件: 当 时,(单个字符是回文) 最终答案是 代码 cpp java python #inc...
2024-12-18
0
24
题解 | 滑雪
解题思路 这是一个求矩阵中最长递减路径的问题,可以通过记忆化搜索来解决: 对于矩阵中的每个点,都可以作为起点 从每个点出发,可以向上下左右四个方向移动,但要求移动到的点的高度严格小于当前点 使用记忆化数组来存储每个点作为起点的最长路径长度,避免重复计算 最终答案是所有点作为起点的最长路径中的最大值...
2024-12-18
0
17
题解 | 合唱队形
解题思路 这是一个求最长山峰序列的问题,可以通过动态规划来解决: 对于每个位置 ,分别求出以 为山峰的最长上升子序列长度和最长下降子序列长度 使用两个 数组: 表示从左到 的最长上升子序列长度 表示从 到右的最长下降子序列长度 遍历所有位置,找出最长的山峰序列 用总人数减去最长山...
2024-12-18
0
16
题解 | 拦截导弹
解题思路 这道题包含两个子问题: 最长非递增子序列(第一个答案) 使用动态规划, 表示以第 个数结尾的最长非递增子序列长度 最少需要的拦截系统数量(第二个答案) 贪心算法,每次选择可以接的最大数 类似于分配会议室的思路 代码 c++ java python #in...
2024-12-18
0
19
首页
上一页
21
22
23
24
25
26
27
28
29
30
下一页
末页