【力扣题解】2269. 找到一个数字的 K 美丽值

博主目前也在学习,有错误欢迎指正
保持热爱 奔赴星海

文章目录

    • 一、题目
      • 1、题目描述
      • 2、基础框架
      • 3、原题链接
    • 二、解题报告
      • 1、思路分析
      • 2、代码详解
    • 三、本题知识

一、题目

1、题目描述

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

  • 子字符串长度为 k 。
  • 子字符串能整除 num 。

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

注意:

  • 允许有 前缀 0 。
  • 0 不能整除任何值。

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

2、基础框架

  • Java版本框架代码如下:
class Solution {
    public int divisorSubstrings(int num, int k) {
        
    }
}

3、原题链接

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

二、解题报告

1、思路分析

       (1)定义一个长度为K的滑动窗口,根据题目判断即可,注意为零的情况。

2、代码详解

class Solution {
    public int divisorSubstrings(int num, int k) {
        int left = 0;
        int right = k;
        int res = 0;
         String s = String.valueOf(num);
        while(right <= s.length()) {
            String sub = s.substring(left,right);
            if(Integer.parseInt(sub)!=0 && num%Integer.parseInt(sub) == 0) {
                res++;
            }
            left++;
            right++;
        }
        return res;
    }
}

三、本题知识

滑动窗口

你可能感兴趣的:(力扣题解,leetcode,算法)