সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি ইউনিক নন-নেগেটিভ ইন্টিজার অ্যারে নেবে। ফাংশনটি একটি ৩২-বিট ইন্টিজার রিটার্ন করবে যাতে সেটির বাইনারি রিপ্রেজেন্টেশনে শুধু সেই ইনডেক্সগুলোতে (ডানে থেকে বামে গণনা) ১ থাকবে যেগুলো সিকোয়েন্সে দেওয়া আছে।
উদাহরণ
নিচে কোড দেওয়া হলো:
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