感觉像我这样智商的人,是找不到工作了。。前些天一公司笔试题求最大回文串问题,搞得我一脸懵,百度一下各种算法满天飞,各种晕。。。
回文串
回文串指的是顺着读和逆着读是一样的字符串,如abcba,这就是一个标准的回文串。
各种解决方法
其实当我第一时间看到这题的时候,我也不是很懵,想到了正则。。 具体题目要求好像是返回最长回文串的长度,贴出当时的傻傻代码。。
当然,当初第一次写的时候并没有这么完美,至少忘记了考虑str长度为1的情况,也没有考虑到最后匹配的output可能长度有两个的情况,反正就是惨。。。这个其实意义不怎么大,为了用正则而正则,其实就是用来装逼的。。然后装逼还不怎么成功,复杂度还高(好的,其实我不太懂复杂度,数据结构都见鬼去吧。。)
然后听了某大神的话,看了下动态规划(一种算法,我等渣渣一脸懵逼。。)
动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。
我无耻地复制了别人的一段话。。原文链接然而我并不能太看懂
最后贴上一个求最大回文串解决方案大全。。http://blog.csdn.net/fendouzhe123/article/details/39496299
里面详细说明了几种方法。。虽然我看得很懵逼。