• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

youyou-dev

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

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

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

目录
  • 判断一个数的数字计数是否等于数位的值

image

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)。

posted on 2026-03-31 21:33  U~U  阅读(2)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3