珠海做网站及推广百度店面定位怎么申请
3032. 统计各位数字都不同的数字个数 II
给你两个 正整数 a
和 b
,返回 闭区间 [a, b]
内各位数字都不同的数字个数。
示例 1:
输入:a = 1, b = 20 输出:19 解释:除 11 以外,区间 [1, 20] 内的所有数字的各位数字都不同。因此,答案为 19 。
示例 2:
输入:a = 9, b = 19 输出:10 解释:除 11 以外,区间 [1, 20] 内的所有数字的各位数字都不同。因此,答案为 10 。
示例 3:
输入:a = 80, b = 120 输出:27 解释:区间 [80, 120] 内共有 41 个整数,其中 27 个数字的各位数字都不同。
提示:
1 <= a <= b <= 1000
class Solution {public int numberCount(int a, int b) {int count = 0,flag;int[] num = new int[10];for(int i = a; i <= b ;i++){//遍历每一个数flag = 0;Arrays.fill(num,0);String s = Integer.toString(i);if(s.length()==1){//若为0-9,则直接加一并跳过count++;continue;}for(int j = 0;j<s.length();j++){//将数字转换为字符拆分int n = s.charAt(j)-48;num[n]++;//用桶将每个数字装起来if(num[n]>=2){//当出现两次时,说明不是要求的数字flag=1;break;}}if (flag==0) {//判断是否为要求数字count++;}}return count;}
}