如果一个字符串S是由两个字符串T连接而成,即S = T + T, 我们就称S叫做平方串,例如"","aabaab","xxxx"都是平方串.
牛牛现在有一个字符串s,请你帮助牛牛从s中移除尽量少的字符,让剩下的字符串是一个平方串。换句话说,就是找出s的最长子序列并且这个子序列构成一个平方串。

输入描述:

输入一个字符串s,字符串长度length(1 ≤ length ≤ 50),字符串只包括小写字符。

输出描述:

输出一个正整数,即满足要求的平方串的长度。

示例1

输入

frankfurt

输出

4

这道题目将前半部分和后半部分分开,转化为最长公共子序列问题,求解,时间复杂度O(N^2* N)

#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;// 求str1和str2的最长公共子序列int LCS(string str1, string str2)
{// dp[i][j] 表示str1的前i个字符和str2的前j个字符构成的最长公共子序列长度vector<vector<int>> dp(str1.size()+1,vector<int>(str2.size()+1,0));int res = 0;for(int i=1;i<=str1.size();i++){for(int j=1;j<=str2.size();j++){if(str1[i-1]==str2[j-1]){dp[i][j] = dp[i-1][j-1]+1;}else{dp[i][j] = max(dp[i-1][j],dp[i][j-1]);}res = max(res,dp[i][j]);}}return res;
}int main()
{string str;cin>>str;int temp,res=0;for(int i=1;i<str.size();i++){temp = LCS(str.substr(0,i),str.substr(i,str.size()-i));res = max(temp,res);}cout<<2*res<<endl;
}

2019 爱奇艺校招笔试题 平方串相关推荐

  1. 爱奇艺校招笔试题 数字游戏

    题目描述 牛牛举办了一场数字游戏,有n个玩家参加这个游戏,游戏开始每个玩家选定一个数,然后将这个数写在纸上(十进制数,无前缀零),然后接下来对于每一个数字将其数位按照非递减顺序排列,得到新的数,新数的 ...

  2. 爱奇艺校招笔试题判断题

    题目描述 牛牛参加了一场考试,考试包括n道判断题,每做对一道题获得1分,牛牛考试前完全没有准备,所以考试只能看缘分了,牛牛在考试中一共猜测了t道题目的答案是"正确",其他的牛牛猜为 ...

  3. 2019届vivo秋招笔试题【字符串排序】【链表奇数位正序偶数位逆序】【最长回文子串】

    字符串排序 1.题目描述 请对组字符串进行排序,字符串由大小写字母和数字组成,需要满足以下比较规则 1.长度不同时,长度较短在排前面 2.长度相同时,按照字典顺序排列(AaBb-Zz, 0-9顺序), ...

  4. 2018年爱奇艺校招笔试

    我选的是前端方向,所以编程题的题目也比较简单,但是坑很多呀,不知道错在哪,最后没办法直接用最暴力的方法AC了. 笔试分为选择和编程,选择20个,每个三分,编程题两道每道20分. 选择题考点: 1.数据 ...

  5. 字节跳动python面试题_字节跳动2019两道春招笔试题python解法

    (一)万万没想到之聪明的编辑 我叫王大锤,是一家出版社的编辑.我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误.但是,优秀的人总能在平凡的工作中发现真理.我发现一个发现拼 ...

  6. 2019届小米秋招笔试题第一题_厨艺大赛奖金

    1.题目描述   小米食堂每年都会举办一次厨艺大赛,假设参赛的厨师一共有n位(n < 1000),比赛结束后没有公布评分,但是站在领奖台上的一排厨师中每位厨师都能看到与自己相邻的厨师(左或者右) ...

  7. 爱奇艺校招模拟类型题目区间表达式

    题目描述 牛牛的老师给出了一个区间的定义:对于x ≤ y,[x, y]表示x到y之间(包括x和y)的所有连续整数集合.例如[3,3] = {3}, [4,7] = {4,5,6,7}.牛牛现在有一个长 ...

  8. 2017年爱奇艺校招模拟笔试编程

    一.判断某个范围内的水仙花数 Time Limit: 2000/2000 MS (Others/C,C++) Memory Limit: 32768/32768 K (Others/C,C++) Pr ...

  9. 爱奇艺校招----回文素数(python)

    一.题目 题目描述 如果一个整数只能被1和自己整除,就称这个数是素数. 如果一个数正着反着都是一样,就称为这个数是回文数.例如:6, 66, 606, 6666 如果一个数字既是素数也是回文数,就称这 ...

最新文章

  1. 微信为什么打不开html,微信打不开怎么回事 微信打不开解决方法
  2. 深入解析Android关机
  3. numpy基础(part9)--矩阵
  4. 图书馆的uml概念类图怎么画_设计模式:UML?设计原则?
  5. Learning Shape Priors for Single-View 3D Completion and Reconstruction
  6. 【CodeVS】 p1696 奇怪的函数
  7. sqlserver、mysql删除重复数据
  8. 计算机辅助设计学什么,计算机辅助设计课程教学大纲
  9. java号码归属地接口,免费API-手机号码归属地接口
  10. 制造业S2B2B电商平台高效协同助力行业数字化步伐加快
  11. python 替换重复字符_python - 在Pandas中,如何将重复值替换为多个唯一字符串?_pandas_酷徒编程知识库...
  12. 二维码技术在证卡上的应用
  13. 鸿蒙系统为万物互联而生,鸿蒙系统发布:万物互联 EMUI10同台上场
  14. 盛大陈天桥:我从来没有离开,也从来没有后悔(转)
  15. Visual Studio创建C语言编程环境
  16. [玩转树莓派]树莓派配置成路由器
  17. 阿里17实习生编程-数组四等分
  18. 苹果手机语音备忘录在哪_苹果手机录音功能在哪?这才是iPhone录音功能的正确打开方式...
  19. 小e通直播课程视频下载分析
  20. 辞职千万不要写离职申请,懂的人自然懂,想要快速离职,不是申请辞职,而是将自己辞职的信息上交给公司,下面是辞职模板,且看且珍惜

热门文章

  1. java jni helloword_Java HelloWord的时候出现如下错误
  2. 【jQuery动画】停止动画、淡入淡出、自定义动画
  3. QC11服务器IP地址变更修改数据库配置文件
  4. (附源码)计算机毕业设计SSM余庆金阳驾校管理系统
  5. 嵌入式外设集 -- 旋钮电位器(360度)
  6. 谷歌Chrom浏览器中自动翻译问题的解决方案
  7. 计算机公式SUBSTITUTE,SUBSTITUTE函数详解_Excel公式教程
  8. C/C++ MySQL数据库开发
  9. vmware安装pcstat遇到的两个问题
  10. 邮件里的附言框都写些什么(万维书刊网投稿)?