题目
分析仅由三个字符A、B、C构成字符串,且字符串任意三个相邻元素不能完全相同。如“ACCCAB”不合法,“ABBCBCA”合法。求满足条件的长度为n的字符串个数。
假定不考虑整数溢出。
要求时间和空间复杂度不高于O(N)。
若当前已经有了所有长度为n-1的合法字符串,如何在末端增加一个字符串,形成长度为n的字符串呢?
将长度为n-1字符串分成“末尾两个字符不相等”和“末尾两个字符相等”两种情况,各自数目记做dp[n-1][0],dp[n-1][1]:
分析如下图
未完待续!!!!!!!!!!!!!!