leetcode刷题之其他方法

leetcode刷题,使用python

1, Count Numbers with Unique Digits——0357 排列组合
Given an integer n, return the count of all numbers with unique digits, x, where 0 <= x < 10^n.

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

一位数 10种
二位数 99
三位数 9
98
四位数 9
987

class Solution:
    def countNumbersWithUniqueDigits(self, n: int) -> int:
        if n == 0:
            return 1
        if n == 1:
            return 10

        res, cur = 10, 9
        for i in range(n-1):
            cur = cur * (9-i)
            res = res + cur

        return res

S = Solution()
print(S.countNumbersWithUniqueDigits(3))

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容