LeetCode in Kotlin

357. Count Numbers with Unique Digits

Medium

Given an integer n, return the count of all numbers with unique digits, x, where 0 <= x < 10n.

Example 1:

Input: n = 2

Output: 91

Explanation: The answer should be the total numbers in the range of 0 ≤ x < 100, excluding 11,22,33,44,55,66,77,88,99

Example 2:

Input: n = 0

Output: 1

Constraints:

Solution

class Solution {
    fun countNumbersWithUniqueDigits(n: Int): Int {
        if (n == 0) return 1
        var temp = 9
        var res = 10
        for (i in 1 until n) {
            temp *= (10 - i)
            res += temp
        }
        return res
    }
}