【腾讯笔试题 构造回文 】“存在数组越界非法访问等”错误

题目描述:

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

输入描述:

输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.

输出描述:

对于每组数据,输出一个整数,代表最少需要删除的字符个数。

输入例子:

abcda
google

输出例子:

2
2

var readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.on('line', function(data) { // 获取输入 var inputs = data.trim().split(''); // 处理 var result = longestPalindrome(inputs); // 输出结果 console.log(result+'\n'); }); function longestPalindrome(str){ if(!str) return 0; let maxLen = 1; let isPalindrome = new Array(str.length]; for(let i=0;i<str.length;i++){ isPalindrome[i] = new Array(str.length); for(let j=0;j<str.length;j++){ isPalindrome[i][j] = 1; if(j==i+1 && str[i]===str[j]) { isPalindrome[i][j] = 2; maxLen = 2; } } } for(let len=3; len<=str.length;len++){ for(i=0;i<=str.length-len;i++){ let j = i+len-1; if(str[i]===str[j]) isPalindrome[i][j] = isPalindrome[i+1][j-1] +2; else isPalindrome[i][j] = Math.max(isPalindrome[i][j-1],isPalindrome[i+1][j]); maxLen = Math.max(maxLen,isPalindrome[i][j]); } } return str.length-maxLen; }
之前刷别的题,也是这种问题,可是本地调试不会出错,想问下这类该怎么解决哇?求助#腾讯#
全部评论
oj会有多组输入
点赞 回复 分享
发布于 2017-03-17 10:34
import java.util.Scanner; public class Main { public static void main(String [] args) { Scanner sc = new Scanner(System.in); String s = sc.next(); System.out.println(back(s)); sc.close(); } public static int back(String s) { char c1[] = s.toCharArray(); char c2[] = new char[c1.length]; int d[][]=new int[c1.length+1][c1.length+1]; for(int i=c1.length-1;i>=0;i--) { c2[c1.length-i-1]=c1[i]; } for(int i=0;i<c1.length;i++) d[i][c1.length-1]=0; for(int i=0;i<c1.length;i++) d[c1.length-1][i]=0; for(int i=1;i<=c1.length;i++) { for(int j=1;j<=c1.length;j++) { if(c1[i-1]==c2[j-1]) { d[i][j]=d[i-1][j-1]+1; } else { d[i][j]=Math.max(d[i-1][j],d[i][j-1]); } } } return c1.length-d[c1.length][c1.length]; } } 其中一组case返回结果为null。。。求教各位大神这个代码有啥问题没
点赞 回复 分享
发布于 2017-08-10 11:56

相关推荐

会员标识
02-20 16:28
已编辑
牛客运营
从03年的“北大毕业生卖猪肉”到前段时间上热搜的“北大博士入职城管”,这些年“下沉式就业”现象频繁牵动着大家的视野和目光吧,很吸睛?我觉得并不是,如果你说985大学生XXX,那可能成不了焦点,如果说是北大清华毕业生去当城管,卖猪肉,大家都会讨论一番,无论是谁都知道北大清华的过人之处。但是呢近些年的确有很多985、211名校毕业生选择到基层就业或回老家创业,会不会觉得大财小用?老家的哥哥,因为当时学的专业不是很好,但好在学校不错,一路本硕连读,毕业之后在上海打拼了2年,也攒了一些小钱,随后回村选择科学养鸡,买了很大一块地开始科学方法的养鸡、卖鸡蛋,村里的老人都会议论纷纷,白瞎了家里供你读书,又回...
下午吃泡馍:不是每一个脱下长衫的人在下沉市场重获新生,并不是每一个养猪养鸡的高学历人才都会成功。现实是很多人的“长衫”就是自己为数不多甚至唯一的底牌了,拼尽全力拿到一个不错的学历,这时候主流媒体告诉对方脱下长衫也可以活的精彩,其实真的挺难过的。强者恒强,但是弱者是人群的底色。 本质上是整个市场的问题,没有足够多的增长点,没有足够多的岗位,自上而下没有积极向上的氛围。外企撤出,供应链缺失...在发展的过程中总有阵痛,现阶段可能就是我们承受阵痛的过程。之前在牛客看到一个小伙伴说:时代的一粒灰尘,落在谁的身上,都将是无法承受之重!深有感触。
点赞 评论 收藏
分享
许愿ssp的咸鱼很不想泡池子:import python as pyhton
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务