2021/01/14 每日一题 可被 5 整除的二进制前缀

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;
};

你可能感兴趣的:(2021/01/14 每日一题 可被 5 整除的二进制前缀)