题解 | #最长回文子串#

最长回文子串

https://www.nowcoder.com/practice/b4525d1d84934cf280439aeecc36f4af

//记录一下我的绞尽脑汁
#include <cmath>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param A string字符串 
     * @return int整型
     */
    bool isPalindrome(string s){
        int size = s.size();
        int pos = int(size/2), start;
        if(size%2==0)
            start = pos;
        else
            start = pos+1;
        string front = s.substr(0, pos), back = s.substr(start, pos);
        string tmp(back.rbegin(), back.rend());
        if(front == tmp)
            return true;
        return false;
    }
    int getLongestPalindrome(string A) {
        // write code here
        map<string, int> storage;
        int size = A.size();
        if(size == 1)
            return 1;
        else if(size==2){
            if(A[0] == A[1])
                return 2;
            else
                return 1;
        }
        for(int i = 0;i<size;i++){
            for(int pos = 2;pos<=size&&i+pos<=size;pos++){
                string tmp = A.substr(i, pos);
                storage[tmp]++;
            }
        }
        vector<string> res;
        for(auto it:storage)
            if(isPalindrome(it.first))
                res.push_back(it.first);
        int mx = res[0].size();
        for(int i = 1;i<res.size();i++)
            mx = (mx>=res[i].size())?mx:res[i].size();
        return mx;
    }
};

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 17:28
25届每天都在焦虑找工作的事情0offer情绪一直很低落硬撑着面了一个岗位岗位有应酬的成分面试的时候hr给我出各种场景题问的问题比较犀利&nbsp;有点压力面的感觉感觉有点回答不上来本来就压抑的情绪瞬间爆发了呢一瞬间特别想哭觉得自己特别没用没绷住掉眼泪了事后想想觉得自己挺有病的&nbsp;真的破大防了
喜欢唱跳rap小刺猬...:我觉得没关系吧,之前有一次面试leader给我压力面,我顶住了压力,结果入职的时候发现组里氛围很差,果断跑路。其实从面试就能大概看出组的情况,面试体验好的组倒是不一定好,但是面试体验不好的组。。。就很难说
点赞 评论 收藏
分享
07-02 10:44
门头沟学院 C++
码农索隆:太实诚了,告诉hr,你能实习至少6个月
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务