কম্পিউটার

জাভাস্ক্রিপ্টে গোষ্ঠীতে কার্ডগুলিকে পুনর্বিন্যাস করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা সংখ্যার একটি অ্যারে নেয়, প্রথম আর্গুমেন্ট হিসাবে এবং একটি সংখ্যা, সংখ্যা, দ্বিতীয় আর্গুমেন্ট হিসাবে।

অ্যারের সংখ্যাগুলি পরিসরে রয়েছে [1, 13], সীমা সহ, তাস খেলার 1-ভিত্তিক সূচকের প্রতিনিধিত্ব করে৷

আমাদের ফাংশন নির্ধারণ করা উচিত যে কার্ডগুলিকে গোষ্ঠীগুলিতে পুনর্বিন্যাস করার কোনও উপায় আছে কি না যাতে প্রতিটি গোষ্ঠীর আকার সংখ্যা হয় এবং পরপর সংখ্যক কার্ড থাকে৷

উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয়

ইনপুট

const arr = [1, 4, 3, 2];
const num = 2;

আউটপুট

const output = 2;

আউটপুট ব্যাখ্যা

কারণ কার্ডগুলিকে [1, 2], [3, 4]

হিসাবে পুনর্বিন্যাস করা যেতে পারে

উদাহরণ

নিম্নলিখিত কোড -

const arr = [1, 4, 3, 2];
const num = 2;
const canRearrange = (arr = [], num = 1) => {
   const find = (map, n, num) => {
   let j = 0
   while(j < num) {
      if(!map[n + j]) return false
         else map[n + j] -= 1
         j++
      }
      return true
   }
   let map = {}
   arr.sort(function(a, b) {return a - b})
   for(let n of arr) {
      map[n] = map[n] ? map[n] + 1 : 1
   }
   for(let n of arr) {
      if(map[n] === 0 || find(map, n, num)) continue
         else return false
   }
   return true
};
console.log(canRearrange(arr, num));

আউটপুট

true

  1. জাভাস্ক্রিপ্টে একটি অ্যারের উপাদান পুনর্বিন্যাস করা

  2. JavaScript-এ অ্যারে থেকে ডাটা টাইপ আলাদা করা

  3. জাভাস্ক্রিপ্ট ব্যবহার করে সর্বশ্রেষ্ঠ সংখ্যা গঠনের জন্য সংখ্যাগুলিকে পুনর্বিন্যাস করা

  4. জাভাস্ক্রিপ্টে একে অপরের কাছাকাছি n অংশে সংখ্যা বিভক্ত করা