Decoded String at Index LeetCode solution in Python
1class Solution:2def decodeAtIndex(self, S: str, K: int) -> str:3idx = {}4acclens = [0]5prevd = 16j = 07for i, c in enumerate(S + "1"):8if c.isalpha():9idx[acclens[-1] * prevd + j] = i10j += 111else:12acclens.append(acclens[-1] * prevd + j)13prevd = int(c)14j = 015k = K - 116for al in reversed(acclens[1:]):17k %= al18if k in idx:19return S[idx[k]]20return None # should never reach this