समस्या
हमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं की एक सरणी arr को पहले और एकमात्र आर्गुमेंट के रूप में लेता है।
एक चाल में किसी भी arr[i] को चुनना और उसे 1 से बढ़ाना शामिल है। हमारे फ़ंक्शन को सरणी arr में हर मान को अद्वितीय बनाने के लिए आवश्यक कम से कम चालों की संख्या वापस करनी चाहिए।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -
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