Java后端
·04-27 23:16Day 101
✅ 今天做了:
1. 力扣1143,最长公共子序列
2. 复习msyql八股
3. 零代码生成平台项目进度+2(41/41)完结!
⏰ 明天计划:
1. 刷力扣题
2. 复习java八股
3. 编写“零代码平台”设计文档,准备开发
📚 今日感悟:
一、力扣1143,最长公共子序列
1. 我的思路1:动态规划,构造一个二维数组(行列分别是两个字符串的长度+1,默认第0行和第0列填充0方便计算),把这两个字符串当做行和列,如果行元素等于列元素,则选取`dp[i-1][j-1]+1`,否则取`dp[i-1][j]`或者`dp[i][j-1]`中最大长度+1
`时间复杂度O(m*n),空间复杂度O(m*n)`
2. 我的思路2:优化为一维数组,如果行元素等于列元素,`dp[j]=t+1`;否则`dp[j]=max(dp[j-1],dp[j])`(注意,左上角的元素不能通过dp[j]或者dp[j-1]表示,因此要额外维护一个变量用于记录左上角的值dp[j],然后在下一轮使用这个值从而达到左上角的目的)
`时间复杂度O(m*n),空间复杂度O(n)`
3
2
分享
操作
评论
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
