#
Triple steps
By
blackntt
#
Problem
Với cầu thang n bậc. hỏi có bao nhiêu cách để di chuyển từ chân cầu thang lên đỉnh cầu thang khi mỗi lần sẽ di chuyển 1,2 hoặc bước
#
Solution:
Độ phức tạp thời gian: O(n)
Độ phức tạp không gian: O(n) (có thể giảm xuống O(1) nếu dùng 3 biến để lưu 3 steps gần nhất mà không cần dùng một mảng)
findSteps(n):
steps=int[n+1]; steps[0]=1; steps[1]=1; steps[2]=2;
for I from 3 to n do
steps[I] = steps[I-1]+steps[I-2]+steps[I-3]
return steps[n];