題目連結:
題目意譯:
一位學生的出席狀況之紀錄可以被一個字串表示,其中每一個字元代表著該學生於某天是缺席、遲到或是出席。紀錄中只會包含下列三個字元:
'A' : 缺席(Absent)
'L' : 遲到(Late)
'P' : 出席(Present)
一位學生如果滿足以下兩個條件,則有資格被頒發全勤獎:
該學生缺席('A')總次數小於 2 天。
該學生從未遲到('L')連續三天或更多。
給定一整數 n,回傳長度 n 且有資格領取全勤獎的可能紀錄數。答案可能很大,所以先模 10 ^ 9 + 7 後再回傳。
限制:
1 ≦ n ≦ 10 ^ 5
範例測資:
範例 1:
輸入: n = 2
輸出: 8
解釋: 有 8 種長度 2 且有資格領取全勤獎的紀錄:
"PP" 、 "AP" 、 "PA" 、 "LP" 、 "PL" 、 "AL" 、 "LA" 、 "LL"
只有 "AA" 沒有資格,因為有兩次缺席(須少於 2 次)。
範例 2:
輸入: n = 1
輸出: 3
範例 3:
輸入: n = 10101
輸出: 183236316
解題思維:
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。