leetcode 1012
至少有一位重复的数字
题目描述:给定正整数 N,返回小于等于 N 且具有至少 1 位重复数字的正整数的个数。
示例1:
输入:20
输出:1
解释:具有至少 1 位重复数字的正数(<= 20)只有 11 。
示例2:
输入:100
输出:10
解释:具有至少 1 位重复数字的正数(<= 100)有 11,22,33,44,55,66,77,88,99 和 100 。
示例3:
输入:1000
输出:262
提示:
1 <= N <=10^9
思路:题目要我们找出有重复数字的数字个数,反向思维,我们只要找出所有没有重复数字的数字个数total
,再用N-total
,就能得到结果
现在问题就是如何才能找到没有重复数字的数字个数
我们可以通过高低位重新组合得到,举个例子
现在要求222
的不重复数字个数