首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
代码随想录一刷
秋木
创建于2023-02-16
订阅专栏
跟着训练营刷一遍,之前都没怎么坚持下来,记录刷题历程
暂无订阅
共51篇文章
创建于2023-02-16
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Day60 单调栈 LC 84
84. 柱状图中最大的矩形 心得 多看,多了解思路 题解 核心找到一个三元组,(left, mid, right),找到base后左右找到小于的第一个值,决定了以该base横向划线的宽度,即为面积,保
Day59 单调栈 LC 503 42
503. 下一个更大元素 II 心得 直接拼接,插入复杂度O(n),需要优化,可以通过索引技巧来优化 题解 循环数组处理办法可以通过2*size 然后i % sum.size()来遍历 42. 接雨水
Day58 单调栈 LC 739 496
739. 每日温度 心得 单调栈尤其适用于一维数组求左边、右边第一个比其大或小的元素类题目 题解 通过空间换时间,遍历到当前不知道前面元素大小,所以用栈来保存遍历过的元素的索引,从栈顶到底递增排序,保
Day57 动规 LC 647 516
647. 回文子串 心得 没思路 题解 动态规划法 定义dp[i][j] :闭区间[i, j]的子串是否为回文串 递推: 考虑三种情况,i j等的单字符情况 i j相差1的连续情况(由此也可引入双指针
Day55 动规 LC 392 115
392. 判断子序列 心得 题解 dp[i][j]表示以i-1结尾的字符串和j-1结尾的字符串序列的相同的子序列长度,结果条件就是最长公共是不是等于短的 时间O(n * m) 空间(n * m) 11
Day53 动规 LC 1143 1035 53
1143. 最长公共子序列 心得 递推公式没考虑到不等情况下 题解 考虑字符不等情况下,各自往前移一位的情况,求最值即可,而且返回直接dp末尾值即为最大(主要由于所有情况都考虑到了,因此dp末尾元素一
Day52 动规 300 674 718
300. 最长递增子序列 心得 想着暴力,但是不连续不好暴力,还得动规 注意和最长连续子序列区分 题解 核心在于dp[i] = max(dp[i], dp[j] + 1); 的理解 当前位置结尾的最长
Day51 动规 309 714
309. 最佳买卖股票时机含冷冻期 心得 想的是通过新增最大卖出次数,也就n/2来遍历得到最大值,增加一层循环 题解 通过新增冷冻期状态在状态转移方程中,进行递推,其实就是在之前股票问题中将不持有的合
Day50 动规 123 188
123. 买卖股票的最佳时机 III 心得 开始想的是2个最大上升沿,仔细一想不对,2个连续上升直接可以一个代替,还是得用动规 题解 动规,在之前的基础上新增一个第二次的状态 dp[i][0] = d
Day49 动规 121 122
121. 买卖股票的最佳时机 心得 贪心,找最小,然后找最大波峰,AC 题解 可以用动规通过i天是否持只依赖前一天状态来判断,通过当前是否持有,持有卖出通过前一状态递推 122. 买卖股票的最佳时机
Day48 动规 198 213 337
198. 打家劫舍 心得 题解 考虑好初始化,dp个数不一定必须要size + 1,根据实际情况即可 213. 打家劫舍 II 心得 想的是如何拆环,想在遍历过程中对起始位置进行判断是否取,然后改变遍
Day46 动规 139
139. 单词拆分 心得 字典是物品,目标的结果是背包,考虑装满背包时想的是字符串拼接或者个数等不等,没有好好利用string 查找函数和用set保存的快速检索 题解 排列问题,背包在外循环,物品在内
Day45 动规 完全背包 70 322 279
70. 爬楼梯 心得 有点感觉了 题解 进阶爬楼梯,改成每次可以爬1-m阶,完全背包问题,遍历顺序重要 322. 零钱兑换 心得 直接套用完全背包问题,没想清楚 题解 由于求得是最小,初始值赋最大,考
Day44 动规 完全背包 LeetCode 518 377
完全背包理论 物品有N件,求取得的最大值, 标准的完全背包问题,遍历顺序无所谓,需要取多次,所以从小到大遍历,之前01为了仅取一次从大到小遍历 518. 零钱兑换 II 心得 慢慢感受 题解 完全背包
Day43 动态规划 LeetCode 1049 494 474
1049. 最后一块石头的重量 II 心得 完全不会,想的是排列,复杂度过高 题解 将问题转化为分两堆,尽可能同,这样两堆作差就最小,转成0 1背包问题,跟拆分整数一致,此题重量和价值都是一样 494
Day42 动态规划 LeetCode 416
01 背包的理论 N个物品,每个物品只有一个,物品对应重量weight[i], 对应价值value[i],背包容量V,求最大能装的价值 核心理解dp数组、迭代公式、初始化、遍历顺序 二维数组 滚动数组
Day41 动态规划 LeetCode 343 96
343. 整数拆分 心得 拿到题目瞎想,感觉相等的数值乘积应该最大,其实应该是拆分的时候,尽可能当前个数情况下,每个值相等,当时想的是平方根之后近可能靠近这个值,显然存在问题,本题确实存在数学优化解,
Day39 动态规划 LeetCode 62 63
62. 不同路径 心得 按照步骤即可AC 题解 可以优化空间从O(M*N)到O(M),即利用一个数组保存上一次状态行的值,然后本次叠加之前的状态和数组,数组用过之后之前的位置即空置出来 重点掌握方法一
Day38 动态规划 LeetCode 509 70 746
Day38 动态规划 LeetCode 509 70 746 理论基础 常见类型 基础题型 背包问题 打家劫舍 股票问题 子序列问题 五部曲 DP数组及下标含义 递推公式 DP数组初始化 遍历顺序 打
Day37 贪心算法 LeetCode 738 968
738. 单调递增的数字 心得 暴力超时 题解 模拟小于的替换结果,即减少到最小的9结尾的数值,以此迭代,左右遍历顺序尝试下即可,注意需要标志位确保类似xx99结尾 968. 监控二叉树 心得 大概想
下一页