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。。。求教各位大神这个代码有啥问题没
点赞 评论

相关推荐

MScoding:你这个实习有一个是当辅导老师,这个和找技术岗没有关系吧?
点赞 评论 收藏
分享
牛客网
牛客企业服务