LeetCode上可被 5 整除的二进制前缀,又到了简单题重拳出击的时候了,记录下解题思路
可被5整除,那么就是最后一位是0或5,然后这里要记住JavaScript有数字最大长度问题
MAX_SAFE_INTEGER 是一个值为 9007199254740991的常量。因为Javascript的数字存储使用了IEEE 754中规定的双精度浮点数数据类型,而这一数据类型能够安全存储 -(253 - 1) 到 253 - 1 之间的数值(包含边界值)。
那么就转换为十进制的数之后,转换为字符串之后取最后一位,用==
表示会进行数据转换,两边的数据不用是同一类型的
var prefixesDivBy5 = function(A) {
// 判断字符最后一位是0还是5就可以知道能否被5整除
// 结果数组
let res = [];
let num = 0
// 从第0位开始循环
for (var i = 0;i < A.length;i++) {
// 转换为十进制,加空字符串转换为字符串
num = num * 2 + A[i] + ''
// 取num字符串的最后一位
num = num[num.length - 1]
// 用两个等号,数据类型都不用变
res[i] = num == 0 || num == 5;
}
return res;
};