lk_test.py 1.03 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
class Solution:
    @staticmethod
    def numDecodings(s: str) -> int:
        length = len(s)
        ans = [0 for i in range(length+1)]
        ans[0] = 0
        ans[1] = 1
        for i in range(1, length+1):
            print(i)
            if s[i - 1] + s[i] == '10' or s[i - 1] + s[i] == '11' or s[i - 1] + s[i] == '12' or s[i - 1] + s[
                i] == '13' or s[i - 1] + s[i] == '14' or s[i - 1] + s[i] == '15' or s[i - 1] + s[i] == '16' or s[
                i - 1] + s[i] == '17' or s[i - 1] + s[i] == '18' or s[i - 1] + s[i] == '19' or s[i - 1] + s[
                i] == '20' or s[i - 1] + s[i] == '21' or s[i - 1] + s[i] == '22' or s[i - 1] + s[i] == '23' or s[
                i - 1] + s[i] == '24' or s[i - 1] + s[i] == '25' or s[i - 1] + s[i] == '26':
                if s[i] == '0':
                    ans[i] = ans[i - 1] + 1
                else:
                    ans[i] = ans[i - 1] + 2
            else:
                ans[i] = ans[i - 1] + 1
        print(ans)
        return ans[length-1]

Solution.numDecodings("226")