【每日一题Day84】LC2283判断一个数的数字计数是否等于数位的值 | 哈希表

简介: 思路:使用哈希表统计每个数字出现的次数,再与字符串中的次数进行比较,如果所有数字次数均等于字符串中的次数,返回true;反之,返回false

判断一个数的数字计数是否等于数位的值【LC2283】


You are given a 0-indexed string num of length n consisting of digits.


Return true if for every index i in the range 0 <= i < n, the digit i occurs num[i] times in num, otherwise return false.


  • 思路:使用哈希表统计每个数字出现的次数,再与字符串中的次数进行比较,如果所有数字次数均等于字符串中的次数,返回true;反之,返回false


  • 实现


class Solution {
    public boolean digitCount(String num) {
        int[] count = new int[10];
        for (int i = 0; i < num.length(); i++){
            count[num.charAt(i) - '0']++;
        }
        for(int i = 0; i < num.length(); i++){
            if (count[i] != num.charAt(i) - '0'){
                return false;
            }
        }
        return true;
    }
}


。复杂度


  • 时间复杂度:O ( n ) ,n为字符串长度
  • 空间复杂度:O ( C ) ,C为字符集大小,本题中为10
目录
相关文章
|
9月前
【每日一题Day205】LC2441与对应负数同时存在的最大正整数 | 哈希表
【每日一题Day205】LC2441与对应负数同时存在的最大正整数 | 哈希表
55 1
|
算法 测试技术 C#
C++二分查找算法的应用:长度递增组的最大数目
C++二分查找算法的应用:长度递增组的最大数目
|
9月前
给定 n 个整数,求里面出现次数最多的数,如果有多个重复出现的数,求值最大的那个 给定n个整数,求里面出现次数最多的数,如果有多个重复出现的数,求出值最大的一
给定 n 个整数,求里面出现次数最多的数,如果有多个重复出现的数,求值最大的那个 给定n个整数,求里面出现次数最多的数,如果有多个重复出现的数,求出值最大的一
|
9月前
【每日一题Day278】LC2500删除每行中的最大值 | 排序+模拟
【每日一题Day278】LC2500删除每行中的最大值 | 排序+模拟
61 0
|
9月前
|
Python
计算小于或等于n的非负整数区间包含的1的数量
计算小于或等于n的非负整数区间包含的1的数量
92 0
|
9月前
【每日一题Day234】LC1171从链表中删去总和值为零的连续节点 | 链表模拟 哈希表+前缀和
【每日一题Day234】LC1171从链表中删去总和值为零的连续节点 | 链表模拟 哈希表+前缀和
52 0
|
9月前
【每日一题Day317】LC2605从两个数字数组里生成最小数字 | 哈希表
【每日一题Day317】LC2605从两个数字数组里生成最小数字 | 哈希表
47 0
|
9月前
【每日一题Day227】LC2465不同的平均值数目 | 排序 + 哈希表
【每日一题Day227】LC2465不同的平均值数目 | 排序 + 哈希表
33 0
判断数的奇偶性
判断数的奇偶性
112 0
面试官:判断一个数是否为2的整数次幂
面试官:判断一个数是否为2的整数次幂

热门文章

最新文章