小易得到了一个仅包含大小写英文字符的字符串,该字符串可能不是回文串。(“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串,“asds”就不是回文串。) 小易可以在字符串尾部加入任意数量的任意字符,使其字符串变成回文串。 现在请你编写一个程序,程序要能计算出小易可以得到的最短回文串。-笔试面试资料

这是qklbishe.com第5860 篇笔试面试资料
提供答案分析,通过本文《小易得到了一个仅包含大小写英文字符的字符串,该字符串可能不是回文串。(“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串,“asds”就不是回文串。) 小易可以在字符串尾部加入任意数量的任意字符,使其字符串变成回文串。 现在请你编写一个程序,程序要能计算出小易可以得到的最短回文串。-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

小易得到了一个仅包含大小写英文字符的字符串,该字符串可能不是回文串。(“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串,“asds”就不是回文串。)

小易可以在字符串尾部加入任意数量的任意字符,使其字符串变成回文串。

现在请你编写一个程序,程序要能计算出小易可以得到的最短回文串。

小易得到了一个仅包含大小写英文字符的字符串,该字符串可能不是回文串。(“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串,“asds”就不是回文串。)    小易可以在字符串尾部加入任意数量的任意字符,使其字符串变成回文串。    现在请你编写一个程序,程序要能计算出小易可以得到的最短回文串。 犇犇犇犇犇犇犇犇犇犇犇犇
dp
import java.util.*; public class Main{     public static void main(String[] args){         Scanner in = new Scanner(System.in);         String str = in.next();         if(str.equals("")){             System.out.println("");             return;         }         int[][] dp =new int[str.length()][str.length()];         for(int i = 0; i <dp.length; i++){             dp[i][i] = 1;             if(i > 0 && str.charAt(i) == str.charAt(i-1)){                 dp[i-1][i] = 2;             }                          }         int ans = 1;         if(dp[dp.length-2][dp.length-1] == 2)             ans = 2;         for(int l = 3; l <= dp.length; l++){             for(int i = 0; i + l-1 <dp.length; i++){                 int j = i+l-1;                 if(str.charAt(i) == str.charAt(j) && dp[i+1][j-1] > 0){                     dp[i][j] = dp[i+1][j-1]+2;                     if(j == dp.length-1)                         ans = Math.max(ans,dp[i][j]);                 }             }         }         StringBuilder res = new StringBuilder(str);         for(int i = res.length()-1-ans; i >= 0; i--)             res.append(str.charAt(i));         System.out.println(res.toString());     } }

2021-01-12 21:15:25 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 小易得到了一个仅包含大小写英文字符的字符串,该字符串可能不是回文串。(“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串,“asds”就不是回文串。) 小易可以在字符串尾部加入任意数量的任意字符,使其字符串变成回文串。 现在请你编写一个程序,程序要能计算出小易可以得到的最短回文串。-笔试面试资料

提供最优质的资源集合

立即查看 了解详情