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

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

2269. 找到一个数字的 K 美丽值_第1张图片


C代码:

// 长度为k,滑窗能够整除num
int divisorSubstrings(int num, int k){
    char* str = (char*)malloc(sizeof(char) * 11);
    int top = sprintf(str, "%d", num);
    int sum = 0;
    int ans = 0;
    for (int i = 0; i <= top - k; ++i) { // 新建字符串 + atoi()
        char* buf[k+1];
        buf[0] = '\0';
        strncat(buf, str+i, k);
        if (atoi(buf) != 0 && num % atoi(buf) == 0) {
            ++ans;
        }
    }
    return ans;
}

你可能感兴趣的:(LeetCode刷题,算法)