class Solution {
public:
int divisorSubstrings(int num, int k) {
}
};
2269. 找到一个数字的 K 美丽值
一个整数 num
的 k 美丽值定义为 num
中符合以下条件的 子字符串 数目:
k
。num
。给你整数 num
和 k
,请你返回 num
的 k 美丽值。
注意:
0
不能整除任何值。一个 子字符串 是一个字符串里的连续一段字符序列。
示例 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 。
提示:
1 <= num <= 109
1 <= k <= num.length
(将 num
视为字符串)原站题解
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