count-numbers-with-unique-digits

https://leetcode.com/problems/count-numbers-with-unique-digits/

class Solution {
public:
    int countNumbersWithUniqueDigits(int n) {
        if (n < 1) {
            return 1;
        }
        
        // one digit number
        int count = 9;
        int base = 9;
        int cur = 9;
        
        for (int i=1; i<n; ++i) {
            base *= cur;
            cur--;
            count += base;
        }
        
        // including the last one, equivalent to including 0
        return count + 1;
    }
};
原文地址:https://www.cnblogs.com/charlesblc/p/5588043.html