[leetcode 数位计算]2520. 统计能整除数字的位数

给你一个整数 num ,返回 num 中能整除 num 的数位的数目。

如果满足 nums % val == 0 ,则认为整数 val 可以整除 nums 。

示例 1:

输入:num = 7

输出:1

解释:7 被自己整除,因此答案是 1 。

示例 2:

输入:num = 121

输出:2

解释:121 可以被 1 整除,但无法被 2 整除。由于 1 出现两次,所以返回 2 。

示例 3:

输入:num = 1248

输出:4

解释:1248 可以被它每一位上的数字整除,因此答案是 4 。

提示:

1 <= num <= 109

num 的数位中不含 0


java 复制代码
class Solution {
    public int countDigits(int num) {
        String s = Integer.toString(num);
        int[] a = new int[10];
        for(char ch : s.toCharArray()) {
            a[ch-'0']++;
        }
        int ans = 0;
        for(int i=1; i<=9; i++) {
            if(a[i] == 0) continue;
            if(num % i == 0) ans += a[i];
        }
        return ans;
    }
}
python 复制代码
class Solution:
    def countDigits(self, num: int) -> int:
        s = str(num)
        a = [0] * 10
        for ch in s:
            a[int(ch)] += 1
        ans = 0
        for i in range(1, 10):
            if a[i] == 0:
                continue
            if num % i == 0:
                ans += a[i]
        return ans
相关推荐
luthane37 分钟前
python 实现average mean平均数算法
开发语言·python·算法
静心问道41 分钟前
WGAN算法
深度学习·算法·机器学习
杰九1 小时前
【算法题】46. 全排列-力扣(LeetCode)
算法·leetcode·深度优先·剪枝
manba_1 小时前
leetcode-560. 和为 K 的子数组
数据结构·算法·leetcode
liuyang-neu1 小时前
力扣 11.盛最多水的容器
算法·leetcode·职场和发展
忍界英雄1 小时前
LeetCode:2398. 预算内的最多机器人数目 双指针+单调队列,时间复杂度O(n)
算法·leetcode·机器人
Kenneth風车1 小时前
【机器学习(五)】分类和回归任务-AdaBoost算法-Sentosa_DSML社区版
人工智能·算法·低代码·机器学习·数据分析
C7211BA2 小时前
使用knn算法对iris数据集进行分类
算法·分类·数据挖掘
Tisfy2 小时前
LeetCode 2398.预算内的最多机器人数目:滑动窗口+单调队列——思路清晰的一篇题解
算法·leetcode·机器人·题解·滑动窗口
程序猿练习生2 小时前
C++速通LeetCode简单第18题-杨辉三角(全网唯一递归法)
c++·算法·leetcode