Decode string with wildcards
A message of digits is encoded with 'A'->1 ... 'Z'->26. The string may also contain '*', a wildcard for any digit 1-9. Given such a string s (1 <= len(s) <= 10^5), return the number of ways to decode it, modulo 1_000_000_007. '0' alone cannot be decoded and only combines as part of 10 or 20 (but note 10/20 with '*' is handled by the digit cases here).
Implement
num_decodings_ii(s: str) → intExamples
in
["*"]out9What a strong answer looks like
State your approach and its time/space complexity out loud before you optimize. Handle the edge cases (empty input, duplicates, overflow), and say why you chose this over the brute force. Green tests are the floor, not the grade.
0:00 of about 30 min
solution.py
InputExpectedGot
["*"]9not run yetsample