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

一个整数 num 的 美丽值定义为 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 。

提示:

  • 1 <= num <= 109
  • 1 <= k <= num.length (将 num 视为字符串)
    public static int divisorSubstrings(int num, int k) {
        String str = String.valueOf(num);
        int count = 0;
        int left = 0;
        for (int right = 0; right < str.length(); right++) {
            String substring = str.substring(left, left + k);
            //滑动窗口: 来确定每次判断的数等于k
            while (right - left + 1 == k) {
                Integer res = Integer.valueOf(substring);
                // 不能简单判断以0开头的数,而是要判断整个数
                if (res != 0 && num % res == 0) {
                    count++;
                }
                left++;
            }
        }
        return count;
    }

相关推荐

  1. 2269. 找到一个数字 K 美丽C++

    2024-06-07 09:10:08       37 阅读
  2. 2269. 找到一个数字 K 美丽

    2024-06-07 09:10:08       27 阅读
  3. [leetcode] 2269. 找到一个数字 K 美丽

    2024-06-07 09:10:08       23 阅读
  4. 力扣2653.滑动子数组美丽

    2024-06-07 09:10:08       30 阅读
  5. LeetCode: 2779. 数组最大美丽

    2024-06-07 09:10:08       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-07 09:10:08       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-07 09:10:08       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-07 09:10:08       82 阅读
  4. Python语言-面向对象

    2024-06-07 09:10:08       91 阅读

热门阅读

  1. 数分—AB测试

    2024-06-07 09:10:08       33 阅读
  2. opencv--3d数据拟合平面并对倾斜平面矫正

    2024-06-07 09:10:08       29 阅读
  3. jmeter基础入门练习题

    2024-06-07 09:10:08       27 阅读
  4. 求最小公倍数

    2024-06-07 09:10:08       33 阅读
  5. 【Flutter 面试题】 JIT 与 AOT分别是什么?

    2024-06-07 09:10:08       33 阅读
  6. 预测预测---通过KIMI来预测上海高考语文题目

    2024-06-07 09:10:08       27 阅读