列表

详情


2269. 找到一个数字的 K 美丽值

一个整数 num 的 美丽值定义为 num 中符合以下条件的 子字符串 数目:

给你整数 num 和 k ,请你返回 num 的 k 美丽值。

注意:

一个 子字符串 是一个字符串里的连续一段字符序列。

 

示例 1:

输入:num = 240, k = 2
输出:2
解释:以下是 num 里长度为 k 的子字符串:
- "240" 中的 "24" :24 能整除 240 。
- "240" 中的 "40" :40 能整除 240 。
所以,k 美丽值为 2 。

示例 2:

输入:num = 430043, k = 2
输出:2
解释:以下是 num 里长度为 k 的子字符串:
- "430043" 中的 "43" :43 能整除 430043 。
- "430043" 中的 "30" :30 不能整除 430043 。
- "430043" 中的 "00" :0 不能整除 430043 。
- "430043" 中的 "04" :4 不能整除 430043 。
- "430043" 中的 "43" :43 能整除 430043 。
所以,k 美丽值为 2 。

 

提示:

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: int divisorSubstrings(int num, int k) { } };

python3 解法, 执行用时: 44 ms, 内存消耗: 14.8 MB, 提交时间: 2022-05-27 15:27:22

class Solution:
    def divisorSubstrings(self, num: int, k: int) -> int:
        ans = 0
        num = str(num)
        n = len(num)
        for i in range(0, n-k+1):
            t = int(num[i:i+k])
            if t != 0 and int(num) % t == 0:
                ans += 1
        return ans

上一题