ลำดับ A: A[0]=s, A[1]=t, A[n] = A[n-1]+A[n-2] (n คู่) หรือ A[n-2]+A[n-1] (n คี่)
ตัวอย่าง: s="pk", t="r", n=4 → "rrpkrpk"
อัลกอริธึม Iterative
- เก็บ a=A[n-2], b=A[n-1]
- ลูป i=2..n: ถ้า i คู่ → c=b+a, คี่ → c=a+b; แล้ว a=b, b=c
การนำไปใช้
class Solution:
def solve(self, s, t, n):
if n == 0: return s
if n == 1: return t
a, b = s, 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)) # rrpkrpk