সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম এবং একমাত্র আর্গুমেন্ট হিসাবে সংখ্যার একটি অ্যারে নেয়।
একটি মুভের মধ্যে রয়েছে যেকোনো arr[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