LeetCode 357. 计算各个位数不同的数字个数

文章描述了一个名为Solution的类中的方法countNumbersWithUniqueDigits,用于计算n位数中所有只包含唯一数字的计数。通过递归计算不同位数下的组合,得出结果公式并实现求解。
摘要由CSDN通过智能技术生成
/*
    计数原理,
    n=0    s0=1
    n=1    s1=10
    n=2    s2=9*9
    n=3    s3=s2+s1+9*9*8
    ...
*/
class Solution {
    public int countNumbersWithUniqueDigits(int n) {
        //n表示的是位数
        //n=2      10*9+1=91
        if(n==0) return 1;
        int s=10;
        int res = 9;
        for(int i=9,t=1;i>=0&&t<n;i--,t++){
            res = res*i;
            s = s+res;
        }  
        return s;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值