23得票1回答
这个Java正则表达式如何检测回文?

这是一系列正则表达式教学文章中的第三部分。它跟随着如何使用正则表达式查找三角形数?(其中首次介绍了嵌套引用)和如何使用Java正则表达式匹配a^n b^n?(其中进一步阐述了前瞻“计数”机制)。本文介绍了一种特定形式的嵌套断言,当与嵌套引用相结合时,允许Java正则表达式匹配大多数人认为是“...

22得票9回答
查找所有回文子字符串

如果输入为 'abba',那么可能的回文有 a、b、b、a、bb 和 abba。 我知道判断字符串是否是回文很容易,就像这样:public static boolean isPalindrome(String str) { int len = str.length(); for(int i...

20得票2回答
这个 PCRE 模式如何检测回文?

这个问题是一个教育演示,展示了在PCRE模式中使用前瞻、嵌套引用和条件语句来匹配所有回文字符串的用法,包括那些不能被PCRE手册中递归模式匹配的字符串。请检查这个PHP片段中的PCRE模式: $palindrome = '/(?x) ^ (?: (.) (?= ...

17得票10回答
使用更好的算法寻找一个数字字符串的下一个回文数

首先,这是问题: 如果一个正整数在十进制下从左往右读和从右往左读都相同,则称其为回文数。对于给定不超过 1000000 位数的正整数 K,写出比 K 大的最小回文数并输出。数字不会有前导零。 输入:第一行包含整数 t,表示测试用例数。接下来的 t 行中给出了整数 K。 输出:对于每个 K...

16得票6回答
最长回文子串递归解法

我知道有解决方案使用自底向上的动态规划方法来在O(n^2)时间内解决这个问题。我特别寻求自顶向下的动态规划方法。使用递归解决最长回文子串是否可行? 以下是我尝试过的方法,但对于某些情况会失败,但我觉得我几乎走上了正确的道路。#include <iostream> #include...

16得票10回答
回文检测效率

我对Jon Limjap的访谈失误感到好奇,并开始寻找高效的回文检测方法。我查看了回文高尔夫答案,我觉得答案中只有两个算法,一个是反转字符串,另一个是从头和尾部进行检查。 def palindrome_short(s): length = len(s) for i in xr...

15得票4回答
给定一个单词,将其转换为回文字符串并使添加的字母数量最少。

这是一个相当有趣的面试问题: 给定一个单词,附加最少数量的字母使其成为回文。 例如,如果给出字符串"hello",则结果应为"hellolleh"。 如果给定"coco",则结果应为"cococ"。 我可以想到的一种方法是将反转后的字符串附加到原始字符串的末尾,然后尝试从末尾消除...

12得票2回答
寻找最长回文子序列并占用更少的内存

我正在尝试解决Cormem的《算法导论第三版》(第405页)中的动态规划问题,其要求如下: 一个回文串是指某个字母表上的非空字符串,它从前往后读和从后往前读都一样。例如,长度为1的所有字符串、civic、racecar和aibohphobia(对回文串的恐惧)都是回文串。 设计一个高效的算...

12得票17回答
在Python中解决回文“三角形任务”难题

我正在尝试解决这个编程谜题:给你一个正整数N (0 例如,大小为5的回文三角形是:1 121 12321 1234321 123454321 我只能想到一种“笨”的方法:for i in range(1, N+1): print([0, 1, 121, 12321, 1234321, ...

11得票9回答
字符串中最长回文子串

我编写了以下函数来查找字符串中最长的回文。它可以正常工作,但对于"noon"或"redder"这样的单词就不起作用了。我尝试了一下,将for循环中的第一行改为: var oddPal = centeredPalindrome(i, i); 用于 var oddPal = centere...