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

文章目录

力扣题目

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

子字符串长度为 k 。

子字符串能整除 num 。

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

注意:

允许有 前缀 0 。

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 。

代码工程

C++实现

cpp 复制代码
class Solution {
public:
    int divisorSubstrings(int num, int k) 
    {
        int res = 0;
        string s = to_string(num);/*将十进制数字转化为字符串*/
        /*s.length() - k + 1是确保s.substr(i, k)能正好取到字符串结尾*/
        for(int i = 0; i < s.length() - k + 1; i++)
        {
            int tmp = stoi(s.substr(i, k));
            if((tmp != 0) && (num % tmp == 0))
            {
                res++;
            }
        }

        return res;
    }   
};

python实现

cpp 复制代码
class Solution:
    def divisorSubstrings(self, num: int, k: int) -> int:
        my_str = str(num)
        n = len(my_str)
        res = 0
        for i in range(n - k + 1):
            tmp = int(my_str[i:i+k])
            if tmp != 0 and num % tmp == 0:
                res += 1 
        
        return res
相关推荐
Tisfy3 小时前
LeetCode 0836.矩形重叠:xy两方向分别看
数学·leetcode·题解·模拟
青山木4 小时前
Hot 100 --- 最长递增子序列
java·数据结构·算法·leetcode·动态规划
土司大王4 小时前
LeetCode hot100——33.搜索旋转排序数组:Java 二分模板与 O(log n) 实现
数据结构·算法·leetcode
辰辉创聚5 小时前
禽流感病毒分子基础:表面抗原与内部转录复合体的功能解析
ide·leetcode·rabbitmq·重组血凝素蛋白·甲型流感病毒核蛋白·禽流感单抗
ysu_03147 小时前
08-二叉树遍历:四种方式详解
c语言·数据结构·算法·leetcode
土司大王7 小时前
LeetCode hot100——153.寻找旋转排序数组中的最小值:Java 二分模板与 O(log n) 分析
java·算法·leetcode
土司大王8 小时前
LeetCode hot100——4.寻找两个正序数组的中位数:Java 二分第K小 递归裁剪
java·算法·leetcode
6Hzlia9 小时前
【Classic 150 刷题计划】 LeetCode 123. 买卖股票的最佳时机 III | C++ 状态机动态规划与通用交易拓展
c++·算法·leetcode
All for pursuit.11 小时前
【矩阵-2】240.搜索二维矩阵 II
数据结构·c++·算法·leetcode