LeetCode之Count Numbers with Unique Digits
来源:互联网 发布:机械三维设计软件排名 编辑:程序博客网 时间:2024/06/05 15:03
本题的意思是给定一个非负整数n,要求出满足0 <= x < 10 ^ n范围的所有所含数字不重复的数的数量。
我采用动态规划的思想解决此题。我们令f(n)表示长度为n的数中所含数字不重复的数的数量。那么,很明显,f(1) = 10。对于f(2)来说,第一位有9种选择,在第一位选定后,第二位有9种选择,所以f(2) = 81。相似地,f(3) = f(2) * 8。依此类推,f(4) = f(3) * 7,……,f(10) = f(9) * 1。当n > 10的时候,f(n) = 0。综上所述,此题的解就是f(1) + f(2) + …… + f(n)。
class Solution { public: int countNumbersWithUniqueDigits(int n) { if (n == 0) { return 1; } int init_ = 10; int uniqueDigits = 9; int count = 9; while (n-- > 1 && count > 0) { uniqueDigits = uniqueDigits * count; init_ += uniqueDigits; count--; } return init_; }};
阅读全文
0 0
- LeetCode之Count Numbers with Unique Digits
- 【LeetCode】357. Count Numbers with Unique Digits
- leetcode Count Numbers with Unique Digits
- LeetCode 357. Count Numbers with Unique Digits
- LeetCode:Count Numbers with Unique Digits
- [leetcode] 357. Count Numbers with Unique Digits
- 【LeetCode】357. Count Numbers with Unique Digits
- [LeetCode] Count Numbers with Unique Digits
- LeetCode Count Numbers with Unique Digits
- leetcode 357. Count Numbers with Unique Digits
- leetcode 357. Count Numbers with Unique Digits
- leetcode.357. Count Numbers with Unique Digits
- LeetCode 357 Count Numbers with Unique Digits
- 【Leetcode】Count Numbers with Unique Digits
- LeetCode[357] Count Numbers with Unique Digits
- LeetCode:357. Count Numbers with Unique Digits
- 【leetcode】357. Count Numbers with Unique Digits
- LeetCode 357 Count Numbers with Unique Digits
- 原码,反码,补码,移码
- 表情上传前端页面
- 初识C++
- JavaScript动态控制网页样式
- 在线地图资源库
- LeetCode之Count Numbers with Unique Digits
- 225. Implement Stack using Queues
- 基本类型包装器类
- java编程思想学习日志——一切都是对象
- 关于网站域名访问出现welcome to nginx 的问题
- 【MVC】未能加载类型"********.MvcApplication"
- 利用生命周期设置是否隐藏 navigationBar
- 声纹识别
- 纯C实现员工工资管理系统