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

简介: 357. 计算各个位数不同的数字个数

正文


题目描述:

给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x < 10n 。

示例:

输入: 2

输出: 91

解释: 答案应为除去 11,22,33,44,55,66,77,88,99 外,在 [0,100) 区间内的所有数字。

通过次数12,316提交次数23,992


回溯算法:

10.png

官网大佬写的算法:

11.png

更有甚者写的代码:

12.png

相关文章
|
7月前
|
算法 测试技术 C#
C++数位算法:数字1的个数
C++数位算法:数字1的个数
|
4月前
|
Python
计算小于或等于n的非负整数区间包含的1的数量
计算小于或等于n的非负整数区间包含的1的数量
22 0
|
5月前
[leetcode 数位计算]2520. 统计能整除数字的位数
[leetcode 数位计算]2520. 统计能整除数字的位数
|
5月前
求十个数的乘积
求十个数的乘积
15 0
|
8月前
|
C++
LeetCode 43. 字符串相乘C++代码 超过100%
LeetCode 43. 字符串相乘C++代码 超过100%
52 0
LeetCode-357 统计各位数字都不同的数字个数
LeetCode-357 统计各位数字都不同的数字个数
LeetCode-357 统计各位数字都不同的数字个数
|
12月前
7-10 求数字个数
7-10 求数字个数
42 0
LeetCode 1295. 统计位数为偶数的数字
LeetCode 1295. 统计位数为偶数的数字
|
Java
JavaA除以B本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。
JavaA除以B本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。
67 0