LeetCode357. Count Numbers with Unique Digits

来源:互联网 发布:win10平板手势软件 编辑:程序博客网 时间:2024/05/20 09:11

比较简单的做法是根据排列组合的知识算出n位数各位不相同的数字共有9*9*8*7.....(9-n+2)个(n>=2),当n为1时是10个,然后累加就行。


class Solution {public:    int countNumbersWithUniqueDigits(int n) {        if(n==0) return 1;        else if(n==1) return 10;                int cnt=9;        int ans=10;        for(int i=2;i<=n;++i){            cnt*=(11-i);            ans+=cnt;        }        return ans;    }};




0 0
原创粉丝点击