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;
    }
};

 

posted @ 2016-06-15 16:42  blcblc  阅读(229)  评论(0编辑  收藏  举报