标签:输出 ret tco 示例 public ... 区间 int turn
一、题目描述
给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x < 10n 。
示例:
输入: 2
输出: 91
解释: 答案应为除去 11,22,33,44,55,66,77,88,99
外,在 [0,100) 区间内的所有数字。
二、题目解析
排列组合。第一位有9种,第二位有9种,....第10位有1种,大于10位肯定有重复,返回0
三、代码实现
class Solution { public: int countNumbersWithUniqueDigits(int n) { if (!n)return 1; if (n > 10)return 0; int res = 10, tmp = 9; for (int i = 1; i < n; ++i) { tmp *= (10 - i); res += tmp; } return res; } };
[Leetcode] 第357题 计算各个位数不同的数字个数
标签:输出 ret tco 示例 public ... 区间 int turn
原文地址:https://www.cnblogs.com/zhizhiyu/p/10171283.html