2575. 找出字符串的可整除数组
难度:中等
地址:https://leetcode.cn/problems/find-the-divisibility-array-of-a-string/
给你一个下标从 0 开始的字符串 word,长度为 n,由从 0 到 9 的数字组成。另给你一个正整数 m。
word 的 可整除数组 div 是一个长度为 n 的整数数组,并满足:
如果 word[0,...,i] 所表示的 数值 能被 m 整除,div[i] = 1 否则,div[i] = 0 返回 word 的可整除数组。
示例 1:
:word = "998244353", m = 3
:[1,1,0,0,0,1,1,0,0]
:仅有 4 个前缀可以被 3 整除:"9"、"99"、"998244" 和 "9982443" 。
示例 2:
:word = "1010", m = 10
:[0,1,0,1]
:仅有 2 个前缀可以被 10 整除:"10" 和 "1010" 。
提示:
1 <= n <= 10^5word.length == nword由数字0到9组成1 <= m <= 10^9
题解:
方法一:模运算

js
/**
* @param {string} word
* @param {number} m
* @return {number[]}
*/
var divisibilityArray = function (word, m) {
const res = [];
let val = 0;
for (const w of word) {
val = (val * 10 + (w.charCodeAt(0) - '0'.charCodeAt(0))) % m;
res.push(val === 0 ? 1 : 0);
}
return res;
};
My Blog Docs