Leetcode # 902. Numbers At Most N Given Digit Set

https://leetcode.com/problems/numbers-at-most-n-given-digit-set/

Solution

class Solution:
  def atMostNGivenDigitSet(self, digits: List[str], n: int) -> int:
    n_str = str(n)
    l = len(n_str)

    dp = [0] * l
    for i in range(l):
      for d in digits:
        if d < n_str[i]:
          dp[i] += len(digits) ** i
        elif d == n_str[i]:
          dp[i] += 1 if i == 0 else dp[i - 1]
      print(dp[i])

    return dp[-1] + sum(len(digits) ** i for i in range(1, l))

 

Last Updated on 2023/08/16 by A1go

目錄

目錄
Bitnami