欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

leetcode 357. Count Numbers with Unique Digits | 357. 计算各个位数不同的数字个数(Java)

发布时间:2024/2/28 java 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 leetcode 357. Count Numbers with Unique Digits | 357. 计算各个位数不同的数字个数(Java) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

题目

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

题解

只要认真分析数字特点,这题不难,就是个带一些条件的排列组合。

3 个数字 可以组成的不重复数字数量为例:

不包含重复数字的 3 位数 = 不包含重复数字的严格 2 位数 + 不包含重复数字的严格 3 位数(其中,本文所述的“严格”表示不以 0 开头。例如,034 不是严格三位数,但它是严格两位数)

代码就很简单了,递归可解。

class Solution {public int countNumbersWithUniqueDigits(int n) {if (n == 0) return 1;int preSum = countNumbersWithUniqueDigits(n - 1);int A = 9; // 排列组合for (int i = 0; i < n-1; i++) {A *= (9 - i);}return A + preSum;} }

总结

以上是生活随笔为你收集整理的leetcode 357. Count Numbers with Unique Digits | 357. 计算各个位数不同的数字个数(Java)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。