我有一个位运算方法,我想通过 3325 计算出来 [1, 2, 3, 5, 7, 100], 应该怎么去写呢?
function bitOperation(n) {
for (var t = 0, r = n.length - 1; r >= 0; r--) {
t = t << 1 | +n[r]
}
return t
}
const value = bitOperation([1, 2, 3, 5, 7, 100])
console.log(value) // 3325
1
ysc3839 2022-02-19 23:59:04 +08:00 1
大概不可行,因为 bitOperation([1, 2, 1, 1, 7, 100])也是 3325
|
2
msg7086 2022-02-20 15:48:21 +08:00 1
这相当于哈希算法,是不可逆的,会产生复数个解。
|