【发布时间】:2010-04-20 16:49:51
【问题描述】:
可能重复:
Write a function that returns the longest palindrome in a given string
我知道如何在 O(n^2) 中做到这一点。但似乎存在更好的解决方案。
我找到了this,并且有一个 O(n) 答案的链接,但它是用 Haskell 编写的,我不清楚。
如果能在 c# 或类似语言中得到答案,那就太好了。
【问题讨论】:
-
这是另一个问题的完全副本,即您自己链接到的问题。如果您不明白那里的答案,请在此处发表评论,不要打开新问题! (对于它的价值,即使您完全忽略 Haskell 代码,我认为链接的博客文章也有相当清晰的解释。)
-
没有提到应该用哪种编程语言编写
-
是的,好点;我一直觉得 Stack Overflow 缺乏让多人问同一个问题的机制……如果你有足够的声誉,我想你可以编辑问题并希望它带来更好的答案,但这并不理想。
-
我认为最好的方法是从您对链接的分析开始,并尝试构建算法的“伪代码”表示,突出显示您无法解释的部分博客文章的散文......事实上,如果你这样做,我会投票重新开放......在 C# 与 Haskell 中要求这个只是另一种毫无意义的翻译,有一个普遍的表示有很多价值。
-
试试这个链接:akalin.cx/2007/11/28/…。它有 Python 代码,你可能更容易理解。它还包含可能有帮助的算法的替代解释。
标签: c# algorithm palindrome