美团今天笔试第一题回文串求教
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s=sc.next();
int n=s.length();
long res=0;
boolean[][] f=new boolean[n][n];
for(int i=0;i<n;i++) Arrays.fill(f[i],true);
for(int i=n-1;i>=0;i--){
for(int j=i+1;j<n;j++){
f[i][j]=(s.charAt(i)==s.charAt(j)&&f[i+1][j-1]);
if(f[i][j]) res++;
}
}
System.out.print(res);
}
}
这样写为啥只能过25%呢,我以为要去个重结果去重完只能过15%了
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s=sc.next();
int n=s.length();
long res=0;
boolean[][] f=new boolean[n][n];
for(int i=0;i<n;i++) Arrays.fill(f[i],true);
for(int i=n-1;i>=0;i--){
for(int j=i+1;j<n;j++){
f[i][j]=(s.charAt(i)==s.charAt(j)&&f[i+1][j-1]);
if(f[i][j]) res++;
}
}
System.out.print(res);
}
}
这样写为啥只能过25%呢,我以为要去个重结果去重完只能过15%了
全部评论
用中心拓展就行了,分别一个字母为中心和两个字母为中心,两种情况求和
题目要求子串由A,M...等对称的字符组成
字母必须也是对称的哦
相关推荐
03-10 15:03
长沙理工大学 机械设计/制造 点赞 评论 收藏
分享
04-03 17:47
北京中南海业余大学 Java AI牛可乐:哇,听起来你很激动呢!杭州灵枢维度科技听起来很厉害呀~你逃课去白马培训,老冯会同意吗?不过既然你这么感兴趣,肯定是有原因的吧!
对了,想了解更多关于这家公司或者求职相关的问题吗?可以点击我的头像私信我哦,我可以帮你更详细地分析一下!
点赞 评论 收藏
分享
查看3道真题和解析