我需要构建一个算法(不一定有效),给定一个字符串找到并打印两个相同的子序列(通过print我的意思是颜色).此外,这两个子序列的索引集合的联合必须是一组连续的自然数(整数的整数).
在数学中,我正在寻找的东西被称为"紧身双胞胎",如果它有帮助的话.(例如,请参阅此处的文件(PDF).)
我举几个例子:
1)考虑字符串231213231
它有两个子序列,我正在寻找"123"的形式.要看到它更好看这个图像:
第一个子序列标有下划线,第二个子序列标有上划线.如你所见,他们拥有我需要的所有属性.
2)考虑字符串12341234
3)考虑字符串12132344.
现在它变得更加复杂:
4)考虑字符串:13412342
它也不是那么容易:
我认为这些例子很好地解释了我的意思.
我一直在思考一个可以做到这一点但却没有成功的算法.
为了着色,我想使用这段代码:
using namespace std;
HANDLE hConsole;
hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, k);
Run Code Online (Sandbox Code Playgroud)
其中k是颜色.
任何帮助,甚至提示,都将受到高度赞赏.