遵循Python中给定的字符串序列规则后找到第n个序列的程序
假设我们有两个字符串s,t和另一个正数n,我们必须找到返回序列A的第n个项,其中-
A[0]=s
A[1]=t
当n为偶数时,A[n]=A[n-1]+A[n-2],否则A[n]=A[n-2]+A[n-1]。
例如,如果s=“a”和t=“b”,则序列A将为-[“a”,“b”,“ba”(“a”+“b”),“bba”(“b”+“ba”),“bbaba”(“bba”+“ba”)]
因此,如果输入类似于s=“pk”,t=“r”,n=4,则输出为“rrpkrpk”
为了解决这个问题,我们将遵循以下步骤-
如果n等于0,则
返回s
否则,当n等于1时,则
返回t
a:=s,b:=t
对于2到n范围内的i
c:=串联b
c:=b连接a
如果我的mod2等于0,那么
除此以外,
a:=b
b:=c
返回c
让我们看下面的实现以更好地理解-
示例
class Solution: def solve(self, s, t, n): if n == 0: return s elif n == 1: return t a = s b = t for i in range(2, n+1): if i%2 == 0: c = b + a else: c = a + b a = b b = c return c ob = Solution()print(ob.solve("pk", "r", 4))
输入项
"pk", "r", 4
输出结果
rrpkrpk