2575. 文字列の可整除配列を見つける#
インデックスが 0 から始まる文字列が与えられます。長さはで、からまでの数字で構成されています。また、正の整数も与えられます。
の可整除配列は、長さがの整数配列であり、次の条件を満たします。
- が表す数値がで割り切れる場合、
- そうでない場合、
の可整除配列を返します。
例 1:
入力:word = "998244353", m = 3
出力:[1,1,0,0,0,1,1,0,0]
説明:3で割り切れるのは4つの接頭辞のみです:"9"、"99"、"998244"、"9982443"。
例 2:
入力:word = "1010", m = 10
出力:[0,1,0,1]
説明:10で割り切れるのは2つの接頭辞のみです:"10"、"1010"。
ヒント:
- は数字からで構成されています
モジュロ演算#
class Solution {
public:
vector<int> divisibilityArray(string word, int m) {
vector<int> res;
long long num = 0;
for (const auto &c : word) {
num = (num * 10 + (c - '0')) % m;
res.push_back(num == 0);
}
return res;
}
};