首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
2025-12-30 20:55
蚌埠坦克学院 嵌入式软件开发
嵌入式面试中遇到过的最刁钻问题
做嵌入式久了会发现,真正让人难受的面试问题,往往不是“会不会用某个外设”,而是那些一听就知道没做过项目根本答不上来的问题。下面这些,就是我遇到过、也确实很刁钻的嵌入式面试问题。1.「这个问题你是怎么复现出来的?」不是问怎么改,而是先问你怎么复现。这类问题在考:你有没有构造测试条件是靠偶然撞到,还是系统性定位有没有复现思路和手段如果项目里没被 bug 折磨过,很难答清楚。2.「设备跑三个月后死机,你会从哪几步开始查?」这是典型的工程经验题,涉及:内存泄漏、堆碎片任务栈溢出看门狗、日志、异常捕获重点不是点名技术,而是你有没有长期运行的意识。3.「中断里能不能用 malloc?你项目里怎么处理的?」...
面试官问过你最刁钻的问题...
点赞
评论
收藏
分享
2025-12-29 16:51
门头沟学院 前端工程师
27届双非本前端无实习简历求拷打
寒假日常实习没有面试的机会😭是简历太差了吗😭还要继续沉淀吗😭
如何写一份好简历
点赞
评论
收藏
分享
2025-11-27 12:05
门头沟学院 Java
懂了...大厂是个给我发钱的大学
来美团快半年了,真的感觉像在上学,还是带薪的那种。每个新人都有导师带,从业务到技术,手把手教。遇到问题随时问,导师还会主动约一对一,分享经验和方法论。而且学城太实用了,项目文档、技术方案、踩坑经验,想查什么都有,比大学图书馆还全。最舒服的是团队氛围,同事之间很友好,有问题大家都会帮忙,没有那种冷冰冰的感觉。每天上班就像去学校,还能拿工资,这感觉真的不错
牛马人的牛马人生:
大厂干一年比得上大学生涯
美团公司福利 3020人发布
点赞
评论
收藏
分享
2025-12-28 09:46
哈尔滨工业大学
Linux面试题图解
一、简述CPU 负载很高,利用率却很低该怎么办?二、谁发明了Linux?解释Linux的历史?三、Linux和Unix有什么区别?四、Linux的基本组件是什么?五、环境变量是什么?六、什么是符号链接?七、什么是僵尸进程?八、简述Linux 内核 IO 模型 ?
面试题图解
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
2025找工年终总结
252
2
...
Goodnight World!文科转码兜兜转转的那些年……
168
3
...
为什么你的实习是“无效实习”?又该如何做
129
4
...
我的秋招回忆录:从惨败到硕果的成长之路
126
5
...
简历求锐评,211硕士找实习
126
6
...
24h一面到oc速通字节!挑战全网最快timeline
98
7
...
简历求拷打
96
8
...
新年第一篇,关于实习背调…
94
9
...
27届暑期实习准备指南!!
79
10
...
莉莉丝游戏运营岗:游戏DAU异常怎么分析?
76
创作者周榜
更多
正在热议
更多
#
实习没人带,苟住还是跑路?
#
17320次浏览
316人参与
#
对2025年忏悔
#
8147次浏览
154人参与
#
我们是不是被“优绩主义”绑架了?
#
12201次浏览
323人参与
#
春招前还要继续实习吗?
#
10296次浏览
114人参与
#
牛客2025仙途报告
#
48790次浏览
529人参与
#
应届生,你找到工作了吗
#
97255次浏览
593人参与
#
机械求职避坑tips
#
82451次浏览
534人参与
#
为了秋招你都做了哪些准备?
#
30053次浏览
528人参与
#
毕业季,你想好怎么跟生活对线了吗?
#
266763次浏览
3863人参与
#
经纬恒润求职进展汇总
#
145855次浏览
1075人参与
#
一人说一家双休的公司
#
11677次浏览
129人参与
#
每个月的工资都是怎么分配的?
#
81583次浏览
662人参与
#
面试官问过你最刁钻的问题是什么?
#
13879次浏览
122人参与
#
秋招被确诊为……
#
280159次浏览
1587人参与
#
秋招投递攻略
#
255952次浏览
2520人参与
#
2025秋招体验点评
#
86395次浏览
719人参与
#
你收到了团子的OC了吗
#
1491303次浏览
11813人参与
#
实习在多还是在精
#
78018次浏览
494人参与
#
职场新人生存指南
#
492299次浏览
9518人参与
#
虾皮求职进展汇总
#
362291次浏览
2766人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务