跳到主要内容

1018.可被5整除的二进制前缀

链接:1018.可被5整除的二进制前缀
难度:Easy
标签:位运算、数组
简介:给定由若干  0  和  1  组成的数组 A。我们定义  N_i:从  A[0] 到  A[i]  的第 i  个子数组被解释为一个二进制数(从最高有效位到最低有效位)。返回布尔值列表  answer,只有当  N_i  可以被 5  整除时,答案  answer[i] 为  true,否则为 false。

题解 1 - typescript

  • 编辑时间:2021-01-14
  • 执行用时:104ms
  • 内存消耗:42.7MB
  • 编程语言:typescript
  • 解法介绍:只保留后尾。
function prefixesDivBy5(A: number[]): boolean[] {
const list = [];
let prefix = 0;
const length = A.length;
for (let i = 0; i < length; i++) {
prefix = ((prefix << 1) + A[i]) % 5;
list.push(prefix === 0);
}
return list;
}