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

简介: 2269. 找到一个数字的 K 美丽值C++

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

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

给你整数 numk ,请你返回 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 。

class Solution {
public:
    int divisorSubstrings(int num, int k) {
         int ans=0;
    string s= to_string(num);
    for (int i = 0; i <=s.length()-k; ++i) {
        int tem= stoi(s.substr(i,k));
        if(tem&&num%tem==0){
            ans++;
        }
    }
return ans;
    }
};
  1. to_string(int num): 这个函数将整数 num 转换为其字符串表示形式。它用于将输入整数 num 转换为字符串 s。


  1. s.length(): 这个函数返回字符串 s 的长度。它用于确定字符串 s 的长度,以便在其子串中进行迭代。


  1. s.substr(i, k): 这个函数从字符串 s 中提取一个子串,从索引 i 开始,长度为 k。它用于从原始字符串 s 中提取长度为 k 的子串。


  1. stoi(string str): 这个函数将字符串 str 转换为其整数表示形式。它用于将从原始字符串 s 中提取的子串再转换为整数,以便进行进一步处理。


相关文章
|
11月前
【Leetcode -441.排列硬币 -448.找到所有数组中消失的数字】
【Leetcode -441.排列硬币 -448.找到所有数组中消失的数字】
37 0
|
29天前
【刷题记录】——消失的数字、旋转数组
【刷题记录】——消失的数字、旋转数组
|
4月前
每日一题——找到消失的数字
每日一题——找到消失的数字
|
4月前
|
索引
leetcode-448:找到所有数组中消失的数字
leetcode-448:找到所有数组中消失的数字
31 0
|
10月前
448.找到所有数组中消失的数字
448.找到所有数组中消失的数字
剑指offer 56. 0到n-1中缺失的数字
剑指offer 56. 0到n-1中缺失的数字
57 0
448. 找到所有数组中消失的数字
448. 找到所有数组中消失的数字
70 0
448. 找到所有数组中消失的数字
|
索引
力扣刷题记录——434. 字符串中的单词数、448. 找到所有数组中消失的数字、455. 分发饼干
力扣刷题记录——434. 字符串中的单词数、448. 找到所有数组中消失的数字、455. 分发饼干
114 0
力扣刷题记录——434. 字符串中的单词数、448. 找到所有数组中消失的数字、455. 分发饼干
|
算法 Java 索引
0~n-1中缺失的数字(剑指offer 53-II)
一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。
|
存储 算法 Java
算法打卡Day5_lecode_448. 找到所有数组中消失的数字
算法打卡Day5_lecode_448. 找到所有数组中消失的数字
算法打卡Day5_lecode_448. 找到所有数组中消失的数字