最少需要python删除指定字符串多少个字符才能使字符串S变为

他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)最少需要删除多少个字符才能使字符串S变为回文串_百度知道
最少需要删除多少个字符才能使字符串S变为回文串
我有更好的答案
public static int reverse(String s){
if(s==null || s:若Ch[j+i] == Ch[i]
(即字串前后两个字符相同) .min(f(i,则删除‘c&#39:由2分析可知,要求串长为 j-i+2 的子串S(i。 例如.min(res[f(t-1)][j+i-1], res[f(t-1)][j+i])+1:若Ch[j+i] ;
for(int j=0:第一次写文章,有描述不清的地方还请指教)题目分析:变量申明; , j);
for(int i=2。由1分析可知,我们已经知道了串长为1和2的所有子串的f;
char[] ch = s, f(i+1, j+1))+1:由于计算串长为k的res时!=S(j+1)----& f(i,j+1),可以分两种情况:1);j&len-i;++j){
if(ch[j]==ch[j+i])
res[t][j+i]=res[f(t-2)][j+i-1];
res[t][j+i]=Math:令f(i,j)表式S串中从i-j的字串,j+1)的f(i,j+1);若字符串长度len为2, j)和f(i+1,从而,至少删除2个字符串之后原字符串变为回文字符串, j)表式字串S(i,j)变为回文串至少需要删除的字符数。result为某个字符串所需的最少删除字符的数量; f(i,j+1)=f(i+1, j)变为回文串至少需要删除的字符数,由此可知,因而在实现的过程中,我们只需要依次求出串长从 3 到 len 的所有f即可,则f(i,j+1) = f(i+1;res(i,申请res数组时,只申请int[3][len].length()&lt,j+1) = min( f(i;j&len)。(前i-1个字符凑不齐长度为i的串)。2:根据原理说明中的2、3步骤依次计算 之后字符串变为“abeba”,输入“cabebaf”,只需要知道串长为k-1和k-2的res即可,return 0(相同)或者return 1(不同);2:若len&1,若需要求子串S(i,j+1)的最少删除的字符数f(i,则 * 1;2)
int len = s.length():如果S(i)==S(j+1)----&gt,最后返回res的最后一个记录,即为所求;i&++i){
int t = i%3,j+1)=Math,j),f(i+1,j+1))+1 * 令S串长为len;3,'f'&#39.toCharArray();
int[][] res = new int[3][len]。3!= Ch[i]
(即字串前后两个字符不同),则f(i;=i&lt,f(i, j)
(与除去S(i,j+1)字串前后两个字符的所得串S(i+1,j)相同);2), j+1)的删除数f,或者串长为
j-i 的子串f(i+1, j) 的f即可, * @param s
输入字符串 * @return
最少删除数 *&#47,j)代表长度为 i 的子串的S(j-i+1。(PS,构造len*len矩阵,计算时交替覆盖k-3所在的行,可大幅减少所用内存。* 最少需要删除多少个字符才能使字符串S变为回文串 * 原理,只需知道串长为 j-i+1 的子串 f(i,res第i行的前 i-1 个记录是无效记录:设输入字符串为S,其长度为len,字符串转换为字符数组表式为Ch,S(i,j)表式Ch下标从i到j的字串(0&lt,j) * 2:如果S(i)。实现说明:1:申请一个int[len][len] 的二维数组res。原理说明:1:若字符串长度len为1,不需要删除任意字符,return 0。 因而输入一个字符串,求最少需要删除多少个字符才能使字符串S变为回文串
采纳率:96%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。删除字符串中的指定字符_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
删除字符串中的指定字符
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢编写一个程序,将字符串s中的所有字符c删除。_百度知道
编写一个程序,将字符串s中的所有字符c删除。
我有更好的答案
虽然程序不复杂,多少也得表示一下吧!#include&stdio.h&void main(){ char s[80];
gets(s); scanf(&%c&,&ch);
for(i=j=0;s[i]!='\0';i++)
{if(s[i]!=ch)
s[j++]=s[i];}
s[j]='\0';
printf(&%s\n&,s);}字符串S中的输入个数你自己可以修改的哈。
采纳率:38%
估计就是老师出的一个题目。
是不是要考试了,
其他1条回答
为您推荐:
其他类似问题
字符串的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)}

我要回帖

更多关于 python 字符串删除 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信