动态规划 - 腾讯2016实习生笔试

简介: mean 给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。 analyse 对于这题来说,插入字符和删除字符使其成为回文串,答案是一样的.

mean

给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。

analyse

对于这题来说,插入字符和删除字符使其成为回文串,答案是一样的.

首先求s的反串rs,然后对s和rs求最长公共子序列,要删除的字符个数就是LCS.

time complexity

O(N^2)

 code

#include <bits/stdc++.h>
using namespace std;

const int MAXN=1010;
int dp[MAXN][MAXN];

class Solution
{
public:
   int solve(string &s)
   {
       return s.length()-getLCS(s);
   }

   int getLCS(string &s1)
   {
       string s2(s1);
       reverse(s2.begin(),s2.end());
       int len=s1.length();
       memset(dp,0,sizeof dp);
       for(int i=0;i<len;++i)
       {
           for(int j=0;j<len;++j)
           {
               if(s1[i]==s2[j])
                   dp[i+1][j+1]=dp[i][j]+1;
               else dp[i+1][j+1]=max(dp[i][j+1],dp[i+1][j]);
           }
       }
       return dp[len][len];
   }
};

int main()
{
   string s;
   while(cin>>s)
   {
       Solution solution;
       cout<<solution.solve(s)<<endl;
   }
   return 0;
}
目录
相关文章
|
存储 测试技术
(笔试)华为2021秋招面试真题!(内含详细解题思路)
<p>  前言:</p> <p>  文章内容主要介绍了华为2021秋招笔试题(小结),小编觉得挺不错的,现在特意在此分享给大家,也给大家做个参考。(部分代码,用图片的方式呈现出来,方便各位收藏与很好的观看)</p> <p>  内容如下:</p> <p>  一、全量字符集与已占用字符集</p> <p>  输入描述:</p>
951 0
|
5月前
|
Dubbo NoSQL Java
太为难我了,阿里面试了7轮(5年经验,拿下P7岗offer)
今年的大环境非常差,互联网企业裁员的现象比往年更严重了,可今年刚好是我的第一个“五年计划”截止的时间点,说什么也不能够耽搁了,所以早早准备的跳槽也在疫情好转之后开始进行了。但是,不得不说,这次阿里面试真的太难为我了,可以说是和面试官大战了7个回合,不过好在最后给了offer。
|
5月前
|
算法 安全 Java
二面头条、三面拼多多、五面蚂蚁分享面经总结,助你拿大厂offer
蚂蚁金服、头条、拼多多的面试总结 文章有点长,请耐心看完,绝对有收获!不想听我BB直接进入面试分享: 准备过程 蚂蚁金服面试分享 拼多多面试分享 字节跳动面试分享 总结
|
设计模式 网络协议 Java
字节跳动-游戏客户端实习生-面经
字节跳动-游戏客户端实习生-面经
|
设计模式 前端开发 算法
面经分享:美团面试也太难了!4面美团终成Offer
这篇文章分享我一个学弟的美团实习面试经历,万万没想到现在大厂实习面试也这么难,下面是他的面经,各位读者老哥可以参考浏览。 美团我是在拉勾网上投的简历,之前也投过一次,简历都没通过删选,后来让学姐帮我改了一下简历,重新投另一个部门,获得了面试机会。10月23日中午HR打电话过来预约了下午4点半面试,说会在线写代码,让我准备好网络环境。结果5点半还没打电话过来,被放鸽子。与hr重新沟通过后,确定下周一下午再面,可是跟hr沟通预约这一套貌似在美团并没有什么用。
|
机器学习/深度学习 算法 定位技术
美团2024届暑期实习第一轮后端笔试详解
美团2024届暑期实习第一轮后端笔试详解
426 0
|
存储 前端开发 JavaScript
🍪前端笔试系列 | 小米2020校招前端工程师笔试题
🍪前端笔试系列 | 小米2020校招前端工程师笔试题
499 9
🍪前端笔试系列 | 小米2020校招前端工程师笔试题
|
传感器 网络协议 物联网
2018年摩拜校招嵌入式工程师笔试卷
2018年摩拜校招嵌入式工程师笔试卷
2018年摩拜校招嵌入式工程师笔试卷
|
测试技术 API
阿里2021春招笔试题两题(带答案)
 有一个字符串它的构成是词+空格的组合,如“北京 杭州 杭州 北京 上海”, 要求输入一个匹配模式(简单的以字符来写), 比如 aabb, 来判断该字符串是否符合该模式, 举个例子:
下一篇
无影云桌面