首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
03-04 14:29
门头沟学院 C++
避开“伪成长”陷阱
小厂到底能不能去?我的答案很明确:绝对能去,但绝不能“盲目地去”。 去小厂是一场高风险高回报的投资,你需要用理性的标准去筛选它。在做决定前,我们需要先戳破小厂“快速成长”的滤镜:身兼数职 ≠ 核心能力提升,扁平化管理 ≠ 高效沟通,老板的格局 ≠ 你的前途。不搞清楚这个,你在小厂会吃饼吃到饱的的。不要为了逃避大厂的“卷”去小厂,也不要为了所谓的“锻炼能力”去一家毫无前景的小厂。判断一份工作的价值,不在于公司规模的大小,而在于它能不能为你下一份工作提供更高的溢价。
小厂一定不能去吗?
点赞
评论
收藏
分享
03-06 10:47
清华大学 Java
字节跳动 Java后端开发 一面
1. 先做个自我介绍吧参考答案:您好,我是XXX,目前就读于XX大学计算机科学与技术专业,研究生二年级。我的研究方向是分布式系统和云计算,在校期间系统学习了数据结构、算法、操作系统、计算机网络等核心课程。在技术栈方面,我熟悉Java后端开发,掌握Spring Boot、Spring Cloud、MyBatis等主流框架。熟悉MySQL、Redis、Kafka等中间件的使用。了解微服务架构、分布式系统的设计和实现。项目经验方面,我做过一个分布式电商系统,实现了用户、商品、订单、支付等核心模块,使用了微服务架构,日均订单量达到10万+。还参与过实验室的云原生项目,负责容器编排和服务治理部分。在XX...
Java面试圣经
点赞
评论
收藏
分享
03-01 03:31
华南师范大学 Java
26春招
这个简历还有救吗,考研失利了,完蛋蛋了求指导,需不需要补足技术栈
点赞
评论
收藏
分享
02-19 16:22
河南师范大学 Java
双非27届找实习,希望大佬锐评一下
点赞
评论
收藏
分享
03-07 18:49
吉林农业大学 算法工程师
AI-Agent 面试题汇总 - Python数据分析篇
1. Python 数据分析常用库有哪些?各自作用是什么?NumPy:高性能数值计算、矩阵运算pandas:表格数据处理(DataFrame)matplotlib / seaborn:可视化scikit-learn:特征工程与机器学习工具scipy:科学计算与统计函数2. 什么是 Series 和 DataFrame?Series:一维带索引数组DataFrame:二维表格结构(行列索引),是分析工作主力数据结构。3. 如何将字典创建为 DataFrame?(宝典同类高频) import pandas as pd data = {"name": ["Tom&quo...
AI-Agent面试实战...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
AI-Agent 面试题汇总 - 大模型篇
1.6W
2
...
字节AI agent算法一面 好难啊
1.0W
3
...
百度后台开发实习一二三面面经
9584
4
...
游戏客户端面经及经历分享
7146
5
...
字节后端一面
6547
6
...
面试官视角聊聊:AI大模型岗从业务面到HR面全流程
4971
7
...
字节跳动 后台开发 一面
4743
8
...
26年 如何快速入门大模型应用开发(个人认为的最快路线)
4715
9
...
我怕自己努力了这么久,最后还是毕业即失业
3942
10
...
3.6 京东创新零售一面凉经
3659
创作者周榜
更多
正在热议
更多
#
你感受到金三银四了嘛?
#
16173次浏览
182人参与
#
25届网易互娱暑实进度
#
98772次浏览
768人参与
#
今天你投了哪些公司?
#
30139次浏览
698人参与
#
27届求职交流
#
35975次浏览
746人参与
#
春招 / 实习投递,你最焦虑的一件事
#
20314次浏览
457人参与
#
如果给AI员工评绩效,我的答案是……
#
3061次浏览
71人参与
#
哪一刻你对工作祛魅了?
#
7193次浏览
82人参与
#
26届求职交流
#
18302次浏览
453人参与
#
求职低谷期你是怎么度过的
#
32604次浏览
341人参与
#
找工作,你都让AI帮你做什么?
#
2084次浏览
75人参与
#
AI时代下,你的岗位要求有什么变化?
#
3543次浏览
76人参与
#
刚工作的你,踩过哪些坑?
#
1870次浏览
42人参与
#
今年找实习到底有多难?
#
6384次浏览
60人参与
#
虽然0面试,但今天___,夸夸自己
#
1623次浏览
37人参与
#
一起聊美团
#
345584次浏览
1931人参与
#
实习学不到东西正常吗?
#
3070次浏览
38人参与
#
AI项目实战
#
1510次浏览
68人参与
#
HR问:你期望的薪资是多少?如何回答
#
81843次浏览
700人参与
#
机械人,你最希望上岸的公司是?
#
207390次浏览
1939人参与
#
520告白墙
#
56037次浏览
583人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务