class Solution: def countAndSay(self, n: int) -> str: r={} r[1]='1' r[2]='11' r[3]='21' r[4]='1211' r[5]='111221' if n in r: return r[n] else: i=6 while i<=n: j=0 k=1 c=1 s='' while j<len(r[i-1])-1: if r[i-1][j]==r[i-1][k]: c+=1 j,k=j+1,k+1 else: s+=str(c)+r[i-1][j] j,k=j+1,k+1 c=1 print(j,k) if j ==len(r[i-1])-1: s+=str(c)+r[i-1][j] r[i]=s i+=1 return r[n]
执行用时 :48 ms, 在所有 python3 提交中击败了82.33%的用户
内存消耗 :14 MB, 在所有 python3 提交中击败了5.00%的用户
——2019.10.24