返回一个十进制数,其二进制形式中仅在 JavaScript 数组指定的索引处存在 1
问题
我们需要编写一个 JavaScript 函数,该函数接受一个非负整数的唯一数组。我们的函数应返回一个 32 位整数,使得该整数在其二进制表示中仅在特定索引处(从右开始计数)具有 1,该特定索引在序列中。
示例
以下为代码-
const arr = [1, 2, 0, 4];
const buildDecimal = (arr = []) => {
const bitArr = Array(31).fill(0);
let res = 0;
arr.forEach(el => {
bitArr.splice((31 - el), 1, 1);
})
bitArr.forEach((bit, index) => {
res += (2 * (31-index) * bit);
});
return res;
};
console.log(buildDecimal(arr));输出
以下是控制台输出-
14
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言
C++
C#
MongoDB
MySQL
JavaScript
PHP