首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
算法训练1
眼光中的泪
创建于2025-10-22
订阅专栏
记录代码随想录算法训练营每日练习题目
暂无订阅
共43篇文章
创建于2025-10-22
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
算法训练1-day43-图论
99. 计数孤岛 熟悉dfs和bfs,注意边界条件 [100. 最大岛屿的面积]](https://kamacoder.com/problempage.php?pid=1172) 和上一道题类似,再遍
算法训练1-day42-图论
98. 可达路径 图论开始,主要熟悉邻接表和邻接矩阵建图,以及基础的DFS和BFS dfs是可一个方向去搜,不到黄河不回头,直到遇到绝境了,搜不下去了,再换方向(换方向的过程就涉及到了回溯)。
算法训练1-day41-单调栈
42. 接雨水 和前面的题不同,因为题目要求接雨水,也就是两个柱子之间要形成凹型,因此我们不仅要看当前元素和当前栈顶的元素,还要看栈顶下面的一个元素,以此才能构成凹型来接雨水 AC代码: 84. 柱状
算法训练1-day40-单调栈
739. 每日温度 要求找下一个更高温度出现在几天后,因此栈内记录的是单调递减的序列 对于剩余元素的处理,因为如果气温在这之后都不会升高,请在该位置用 0 来代替。所以在初始化时初始为0就可以避免后续
算法训练1-day39-动态规划
647. 回文子串 本题如果我们定义,dp[i] 为 下标i结尾的字符串有 dp[i]个回文串的话,我们会发现很难找到递归关系。 我们在判断字符串S是否是回文,那么如果我们知道 s[1],s[2],s
算法训练1-day38-动态规划
115. 不同的子序列 dp[i][j]:以i-1为结尾的s子序列中出现以j-1为结尾的t的个数为dp[i][j]。 当s[i - 1] 与 t[j - 1]相等时,dp[i][j]可以有两部分组成。
算法训练1-day37-动态规划
1143. 最长公共子序列 这道题是公共子序列,因此当字符不相等时,有dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);,而不是归零,因为子序列不要求连续 AC代码
算法训练1-day36-动态规划
300. 最长递增子序列 dp[i]代表以nums[i]结尾的递增子序列的最长长度 dp数组初始化为1,因为每一个数字本身就是一个子序列且是递增子序列,长度为1 AC代码: 674. 最长连续递增序列
算法训练1-day35-动态规划
188. 买卖股票的最佳时机 IV 和123. 买卖股票的最佳时机 III类似,不过是扩展到了k次交易,可以用2*k+1个空间来记录各种状态 AC代码: 309. 买卖股票的最佳时机含冷冻期 多记录一
算法训练1-day34-动态规划
121. 买卖股票的最佳时机 分两种状态来分别记录,注意持有股票时,除了从前一天也持有股票转变而来外,还有就是买入今天的股票后所得现金,是-prices[i],不是dp[i - 1][1] - pri
算法训练1-day33-动态规划
198. 打家劫舍 和斐波那契数列,还有跳楼梯很类似,都是根据前面的两项变化 AC代码: 213. 打家劫舍 II 不能打劫相邻的屋子且所有屋子构成一个环,意味着第0位的屋子和最后一位的屋子相邻; 我
算法训练1-day32-动态规划
**1. 322. 零钱兑换 dp数组定义:coins数组构成j的组合所需的最少硬币个数 是求组合数,因此先物品后背包 求最小值,初始化为INT_MAX-1,另外dp[0]根据定义设置为0 AC代码:
算法训练1-day31-动态规划
1. 52. 携带研究材料(第七期模拟笔试) 定义:dp[i][j]表示从下标为[0-i]的物品,每个物品可以取无限次,放进容量为j的背包,价值总和最大是多少。 递推公式: 不放物品i:背包容量为j,
算法训练1-day30-动态规划
46. 携带研究材料(第六期模拟笔试) AC代码: 滚动数组版本 注意:要先遍历物品,后遍历背包,这样,每个容量的背包才会计算一次物品j是否要存放进来;否则先遍历背包,后遍历物品,相当于每个容量的背包
算法训练1-day29-动态规划
62. 不同路径 dp数组含义:到达(i,j)位置需要的步数 每一步只能向下或向左,也就意味着(i,j)只能来源于(i-1,j)或是(i,j-1)这两个位置,于是:dp[i][j] = dp[i -
算法训练1-day28-动态规划
509. 斐波那契数 AC代码: 70. 爬楼梯 dp数组的定义:爬到第i层楼梯,有dp[i]种方法 AC代码: 746. 使用最小花费爬楼梯 代码如下:
算法训练1-day27-贪心
56. 合并区间 AC代码: 738. 单调递增的数字 重点在于找到从左往右第一个递减的位置,要求尽可能大且要小于当前数,所以,例如3321,3到2是递减的,此时最接近32的就是29,又因为要递增,所
算法训练1-day26-贪心
452. 用最少数量的箭引爆气球 AC代码: 435. 无重叠区间 无重叠区间问题的贪心算法核心思想是:优先选择结束时间早的区间,这样可以为后面的区间留下更多的空间。 算法步骤: 1. 按结束时间排序
算法训练1-day25-贪心
134. 加油站 如果总油量减去总消耗大于等于零那么一定可以跑完一圈,说明 各个站点的加油站 剩油量rest[i]相加一定是大于等于零的。 每个加油站的剩余量rest[i]为gas[i] - cost
算法训练1-day24-贪心
122. 买卖股票的最佳时机 II 贪心:题目要求我们最多只能持有一只股票,但一天之内可以多次买卖,也就意味着 prices[3]-prices[0] = (prices[3] - prices[2]
下一页