357. Count Numbers with Unique Digits
Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n.
Example:
Given n = 2, return 91. (The answer should be the total numbers in the range of 0 ≤ x < 100, excluding [11,22,33,44,55,66,77,88,99]
)
给定一个非负整数n,统计[0,10n)之间仅含不同数字的数。
分析:
给定n,求[0,10n)范围内各位均不相同的数的个数,可分别求出[0,101),[101,102),……,[10n-1,10n)各区间内符合条件的数的个数,再相加即为所求。
求第k个区间[10k-1,10k)内包含不同数字的数,即求所有k位数中符合条件的数。可通过排列组合来求得。第1位可取1~9共9种;第2位可取0~9,除去第1位所取的数字,共9种;第3位可取0~9,除去第1、第2位所取数字,共8种,……,第k位可取0~9,除去第1~k-1位所取数字,共(10-(k-1))=11-k种,记为f(k),即f(k)=11-k。
所以所求结果即为f(1)+f(2)+...+f(k)。
注意:1)当n=0时,取值范围为[0,1),0符合条件,即f(0)=1。2)n>10时,11位以上的数必含有相同数字,因此,f(k)=0(k>10)。
代码如下:
int countNumbersWithUniqueDigits(int n)
{if (n <= 0) return 1;if (n == 1) return 10;int rst = 10, cnt = 2, coef = 9;int maxCnt = n > 10 ? 10 : n;while (cnt <= maxCnt){coef *= (11 - cnt);rst += coef;cnt++;}return rst;
}
转载于:https://www.cnblogs.com/big-potato/p/8609686.html
357. Count Numbers with Unique Digits相关推荐
- LeetCode 357. Count Numbers with Unique Digits
357. Count Numbers with Unique Digits Given a non-negative integer n, count all numbers with unique ...
- leetcode -- 357. Count Numbers with Unique Digits
Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n. Examp ...
- leetcode 357. Count Numbers with Unique Digits | 357. 计算各个位数不同的数字个数(Java)
题目 https://leetcode.com/problems/count-numbers-with-unique-digits/ 题解 只要认真分析数字特点,这题不难,就是个带一些条件的排列组合. ...
- [LeetCode] Count Numbers with Unique Digits 计算各位不相同的数字个数
Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n. Examp ...
- LeetCode Count Numbers with Unique Digits(计数问题)
题意:给出一个整数,求在[0,10^n]之间各位数字不相同的数的个数 思路:n为1时,有10个 n为2时, 十位数只能是1-9,而个数位可以为0,所以也是有9种选择 n为3时,百位数有9种选择,十位数 ...
- mysql unique count_MySQL - Count Number of Unique Values
问题 If I have three columns: orderNumber, name, email and I would like to count how many unique email ...
- pandas使用nunique函数计算dataframe每个数据列的独特值的个数(count number of unique values in each column of dataframe)
pandas使用nunique函数计算dataframe每个数据列的独特值的个数(count number of unique values in each column of dataframe) ...
- 继续过中等难度.0309
. 8 String to Integer (atoi) 13.9% Medium . 151 Reverse Words in a String 15.7% Mediu ...
- LeetCode github集合,附CMU大神整理笔记
Github LeetCode集合 本人所有做过的题目都写在一个java项目中,同步到github中了,算是见证自己的进步.github目前同步的题目是2020-09-17日之后写的题.之前写过的题会 ...
最新文章
- 欢迎大家批评:CSDN Blog用户体验调查
- 语言模型自然语言处理[置顶] 哥伦比亚大学 自然语言处理 公开课 授课讲稿 翻译(四)...
- 深入浅出神经网络的改进方法!
- 【C 语言】文件操作 ( C 语言中的文件操作函数 | 磁盘与内存缓冲区 | 缓冲区工作机制 )
- encryptjs 加密 前端数据(vue 使用 RSA加密、java 后端 RSA解密)
- C++Study 指针详解
- Linux-通过XShell使用sz命令提示找不到
- 【STM32】GPIO相关函数和类型
- Cloud for Customer的第一个显示的work center是怎么加载和渲染的
- C#/.Net Core/WPF框架初建(国际化、主题色)
- 缓存2 动态缓存 memcached
- java partialfunction,scala中方法和函数的区别
- windows cab文件安装
- Spring @Aspect实现切面编程
- [渝粤教育] 中国农业大学 大学计算机基础 参考 资料
- 网络虚拟化-云计算-虚拟网络基础架构-软件定义网络(SDN)-控制器
- [3] UI原型设计工具Pencil Project 学习系列----- 进阶
- 支持向量机原理与实现
- Linux鼠标断断续续,鼠标断断续续失灵该怎么办
- [深度学习概念]·非极大值抑制解析