LeetCode-in-Java

2269. Find the K-Beauty of a Number

Easy

The k-beauty of an integer num is defined as the number of substrings of num when it is read as a string that meet the following conditions:

Given integers num and k, return the k-beauty of num.

Note:

A substring is a contiguous sequence of characters in a string.

Example 1:

Input: num = 240, k = 2

Output: 2

Explanation: The following are the substrings of num of length k:

Therefore, the k-beauty is 2.

Example 2:

Input: num = 430043, k = 2

Output: 2

Explanation: The following are the substrings of num of length k:

Therefore, the k-beauty is 2.

Constraints:

Solution

public class Solution {
    public int divisorSubstrings(int num, int k) {
        int i = 0;
        int j = 0;
        int count = 0;
        String s = String.valueOf(num);
        StringBuilder sb = new StringBuilder();
        while (i < s.length() && j < s.length()) {
            sb.append(s.charAt(j) - '0');
            int val = Integer.parseInt(sb.toString());
            if (j - i + 1 == k) {
                if (val != 0 && num % val == 0) {
                    count++;
                }
                sb.deleteCharAt(0);
                i++;
                j++;
            } else {
                j++;
            }
        }
        return count;
    }
}