首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
我是二哈
浙江外国语学院 Java
发布于浙江
关注
已关注
取消关注
@Gxin316:
最长公共子序列
AC代码:class Solution {public: int longestCommonSubsequence(string text1, string text2) { int dp[1005][1005] = {0}; int n = text1.size(); int m = text2.size(); for (int i = 1; i <= n; i++){ for (int j = 1; j <= m; j++){ if (text1[i-1] == text2[j-1]) dp[i][j] = 1 + dp[i-1][j-1]; else{ dp[i][j] = max(dp[i][j-1], dp[i-1][j]); } } } return dp[n][m]; }};1.max里面为何只有两种情况,为何不需要比较dp[i-1][j-1]的情况?原因:dp[i][j-1]的值与dp[i-1][j]的值都一定大于等于dp[i-1][j-1]所以无需判断。2.编写代码输出 最长公共子序列的长度、其中一个最长公共子序列。代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;#define ios ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)string text1, text2;int dp[1005][1005] = {0};int longestCommonSubsequence(string text1, string text2) { int n = text1.size(); int m = text2.size(); // 不再重新定义 dp,直接使用全局 dp 数组 for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { if (text1[i-1] == text2[j-1]) dp[i][j] = 1 + dp[i-1][j-1]; else dp[i][j] = max(dp[i][j-1], dp[i-1][j]); } } return dp[n][m];}void print(int i, int j) { if (i == 0 or j == 0) return; if (dp[i][j] == dp[i - 1][j - 1] + 1) { print(i - 1, j - 1); cout << text1[i - 1]; } else if (dp[i][j] == dp[i - 1][j]) { print(i - 1, j); } else { print(i, j - 1); }}int main() { ios; cin >> text1 >> text2; int n = text1.size(); int m = text2.size(); cout << longestCommonSubsequence(text1, text2) << '\n'; // 输出 LCS 长度 print(n, m); // 通过递归函数打印 LCS cout << '\n'; return 0;}通过递归函数从LCS末尾开始溯源。当dp[i][j] == dp[i - 1][j - 1] + 1说明上一位置在当前位置的左上角,当dp[i][j] == dp[i - 1][j]说明上一位置在当前位置的左边,当dp[i][j] == dp[i][j - 1]说明上一位置在当前位置的上边,
点赞 2
评论 1
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
今天 12:11
门头沟学院 硬件开发
我的妈呀好久没见过这么尊重人的hr了
当时他看我面试的时候中间很尴尬 还进来关心我 后面我走的时候 他还问我说谈的怎么样了 走的时候也是毕恭毕敬的送我 就是很尊重人啊啊啊
围归者:
跑跑跑,1500一个月和白干有什么区别
点赞
评论
收藏
分享
06-27 17:50
深圳大学 供应链其他
毕业了被毁约了
秋招签了离家近的私企的三方,没想到现在被公司以 "需求调整"单方面毁约了 😔 这个就业市场还会好吗?
程右:
再争取赔偿当中,所以先不发公司名字啦,只能说中小公司嘴脸都很丑恶
点赞
评论
收藏
分享
05-08 16:37
大连工业大学 Java
笑死我了
VirtualBoo...:
都去逗他了?
点赞
评论
收藏
分享
05-19 18:08
上海科技大学 C++
字节怎么老是拒我啊,是什么原因啊?
下个早班:
秒挂就是不缺人
点赞
评论
收藏
分享
07-01 19:00
门头沟学院 Java
腾讯ieg面试
面试时候有这么一个问题,我说MTU为1500字节,面试官问我为啥MTU是1500字节?这种问题我应该怎么回答呀,我感觉我好像get不到面试官的点,昨天面试的时候,面试官问的这类问题还很多,这类问题怎么回答呀
一只末影酱:
就比如为什么内存页一般为4KB 你可以说太小了可能会导致换页次数过多,缓存命中低 太大了页数较少,换页频率很剧增
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
高德-交易业务-Java日常-面经(OC)
1.2W
2
...
大家觉得测试还能活多久
8151
3
...
快手凉经
5303
4
...
毕业之后再也没人给我兜底了
4505
5
...
美团面经,已oc
4208
6
...
差点忘了以前是干嘛的,这个梗就是2025年最大的一坨
3862
7
...
我是一个能独当一面的大人吗
3852
8
...
女友问我为什么进字节后不理她了
3361
9
...
测试常见八股之快问快答24条
3046
10
...
工资还是得攒着
3001
创作者周榜
更多
正在热议
更多
#
你觉得实习能学到东西吗
#
24358次浏览
548人参与
#
不考虑转正,实习多久合适
#
30473次浏览
138人参与
#
现代汽车前瞻技术研发急速编程挑战赛
#
23745次浏览
198人参与
#
秋招什么时候开投比较合适?
#
13198次浏览
228人参与
#
如果你有一天可以担任公司的CEO,你会做哪三件事?
#
28462次浏览
459人参与
#
如何准备秋招
#
14911次浏览
283人参与
#
发工资后,你做的第一件事是什么
#
66806次浏览
222人参与
#
工作中哪个瞬间让你想离职
#
24939次浏览
173人参与
#
实习,不懂就问
#
35615次浏览
585人参与
#
软开人,秋招你打算投哪些公司呢
#
101647次浏览
958人参与
#
大疆今年的机械笔试难吗?
#
41809次浏览
456人参与
#
元戎启行求职进展汇总
#
32129次浏览
238人参与
#
每个月的工资都是怎么分配的?
#
19626次浏览
373人参与
#
运营人求职交流聚集地
#
141548次浏览
989人参与
#
你觉得现在还能进互联网吗?
#
5855次浏览
119人参与
#
预测一下26届秋招形势
#
31268次浏览
277人参与
#
你们公司几号发工资
#
19440次浏览
130人参与
#
校招入职后的感受
#
291548次浏览
2736人参与
#
硬件应届生薪资是否普遍偏低?
#
72926次浏览
511人参与
#
晒一晒你收到的礼盒
#
70494次浏览
403人参与
#
25届如何提前做秋招准备?
#
171994次浏览
2482人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务