判断一个数的数字计数是否等于数位的值
判断一个数的数字计数是否等于数位的值
class Solution {
public boolean digitCount(String num) {
int n = num.length();
//定义一个数组,记录每个数字出现的次数;
int[] a = new int[10];
for(int i = 0; i < n; i++){
int digit = num.charAt(i)-'0';
a[digit]++;
}
//比较下标出现次数是否等于该位置的元素的数值
for(int i = 0;i < n; i++){
int digit = num.charAt(i)-'0';
if(a[i]!=digit) return false;
}
return true;
}
}
代码时间复杂度为 O(n),其中 n 是字符串的长度;
空间复杂度为 O(1),因为只使用了固定大小的数组(长度为 10)。
浙公网安备 33010602011771号