समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो अद्वितीय गैर-ऋणात्मक पूर्णांकों की एक सरणी लेता है। हमारे फ़ंक्शन को एक 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