方法一 暴力(不可行)
直接循序字符串,每次多取一位,转为整数型然后去除m,但是后面word的长度会很长,转为整数时会丢失精度,得到的结果不准确,如果使用大数字型BigInt()也不行,会超时
方法二 辗转求余
思路和官方是一样的,直接看官方的公式吧
var divisibilityArray = function(word, m) {
let div=[],sum=0
for(let char of word){
sum*=10
sum+=char-''
if(sum% m === 0){
div.push(1)
}else div.push(0)
sum%=m
}
console.log(div)
return div
};
消耗时间和内存情况: