समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो संख्याओं की एक सरणी लेता है, एआर, पहले और एकमात्र तर्क के रूप में।
एक चाल में किसी भी गिरफ्तारी [i] को चुनना और इसे 1 से बढ़ाना शामिल है। हमारा कार्य सरणी में प्रत्येक मान को अद्वितीय बनाने के लिए कम से कम चालों को वापस करना है।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -
const arr = [12, 15, 7, 15];
तब आउटपुट होना चाहिए -
const output = 1;
आउटपुट स्पष्टीकरण
क्योंकि अगर हम किसी 15 से 16 तक की वृद्धि करते हैं, तो सरणी में सभी अद्वितीय तत्व शामिल होंगे।
उदाहरण
इसके लिए कोड होगा -
const arr = [12, 15, 7, 15];
const makeUnique = (arr = []) => {
arr.sort((a, b) => a - b);
let count = 0;
for (let i = 1; i < arr.length; i++) {
if (arr[i] <= arr[i - 1]) {
const temp = arr[i]
arr[i] = arr[i - 1] + 1
count += arr[i] - temp
};
};
return count;
};
console.log(makeUnique(arr)); आउटपुट
और कंसोल में आउटपुट होगा -
1