美团今天笔试第一题回文串求教

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)&amp;&amp;f[i+1][j-1]);
                if(f[i][j]) res++;
            }
        }
        System.out.print(res);
    }
}

这样写为啥只能过25%呢,我以为要去个重结果去重完只能过15%了
全部评论
用中心拓展就行了,分别一个字母为中心和两个字母为中心,两种情况求和
3 回复 分享
发布于 03-22 20:23 广东
题目要求子串由A,M...等对称的字符组成
点赞 回复 分享
发布于 03-22 20:25 河南
字母必须也是对称的哦
点赞 回复 分享
发布于 03-22 20:24 广东

相关推荐

03-19 16:24
南昌大学 Java
查看16道真题和解析
点赞 评论 收藏
分享
03-29 14:05
西南大学 Java
//#include&nbsp;&lt;string.h&gt;&nbsp;“strlen”需要用到这个头文件//#include&nbsp;&lt;stdlib.h&gt;&nbsp;“malloc”需要用到这个头文件//char&nbsp;arr[201];&nbsp;//函数内声明的char&nbsp;arr[201]无法被返回//题干已经说明先放word1再放word2了char*&nbsp;mergeAlternately(char*&nbsp;word1,&nbsp;char*&nbsp;word2)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;l1,&nbsp;l2,&nbsp;i=0,&nbsp;j=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l1&nbsp;=&nbsp;strlen(word1);&nbsp;&nbsp;//&nbsp;只有字符数组才能用stelen&nbsp;&nbsp;&nbsp;&nbsp;l2&nbsp;=&nbsp;strlen(word2);&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;*arr&nbsp;=&nbsp;(char*)malloc(sizeof(char)*(l1+l2+1));&nbsp;&nbsp;//&nbsp;arr只是分配了空间,没有初始化,不能用strlen,至少要有\0&nbsp;&nbsp;&nbsp;&nbsp;for(i;&nbsp;i&lt;l1&nbsp;||&nbsp;i&lt;l2;&nbsp;i++){&nbsp;&nbsp;//&nbsp;i是对应word1和word2的每一个位置的;j是用于构建arr的&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i&nbsp;&lt;&nbsp;l1){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[j++]&nbsp;=&nbsp;word1[i];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i&nbsp;&lt;&nbsp;l2){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[j++]&nbsp;=&nbsp;word2[i];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;arr[j]&nbsp;=&nbsp;&#39;\0&#39;;&nbsp;&nbsp;//&nbsp;此时j指向最后元素的下一个位置&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;arr;}
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务