Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में कार्ड्स को समूहों में पुनर्व्यवस्थित करना

समस्या

हमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं की एक सरणी, arr, को पहला तर्क और एक संख्या, num, को दूसरा तर्क के रूप में लेता है।

सरणी में संख्याएं [1, 13] रेंज में हैं, सीमाएं समावेशी, जो प्लेइंग कार्ड्स के 1-आधारित इंडेक्स को दर्शाती हैं।

हमारे फ़ंक्शन को यह निर्धारित करना चाहिए कि क्या कार्ड्स को समूहों में पुनर्व्यवस्थित करने का कोई तरीका मौजूद है ताकि प्रत्येक समूह का आकार num हो, और इसमें num लगातार कार्ड हों।

उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है

इनपुट

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. - JavaScript में ऐरे से डेटा टाइप के अनुसार एलिमेंट्स को ग्रुप करना

    समस्याहमें एक JavaScript फ़ंक्शन लिखना है जो मिक्स्ड डेटा टाइप्स के एक ऐरे को लेता है। हमारा फ़ंक्शन एक ऑब्जेक्ट लौटाएगा जिसमें डेटा टाइप के नाम कुंजी के रूप में हों और उनके मान उस विशिष्ट डेटा टाइप के एलिमेंट्स का ऐरे हों जो ऐरे में मौजूद हैं।उदाहरणनिम्नलिखित कोड है − { const res = {}; for(le

  1. - JavaScript में अंकों को रीअरेंज करके सबसे बड़ी संख्या बनाना

    समस्याहमें एक JavaScript फ़ंक्शन लिखना है जो एक पॉजिटिव तीन अंकों का इंटीजर लेता है और उसके अंकों को रीअरेंज करके अधिकतम संभव संख्या प्राप्त करता है।उदाहरणनिम्नलिखित कोड है −const num = 149; const maxRedigit = function(num) { if(num b - a) .join() }; console.log(maxRedigit(num));आउटपुट941

  1. - JavaScript में संख्या को n भागों में विभाजित करना जो एक-दूसरे के करीब हों

    समस्या हमें एक JavaScript फ़ंक्शन लिखना है जो एक संख्या, num, को पहला तर्क और दूसरी संख्या, parts, को दूसरा तर्क के रूप में लेता है। हमारे फ़ंक्शन को संख्या num को ठीक (parts) संख्याओं में विभाजित करना चाहिए और हमें इन दो शर्तों को ध्यान में रखना चाहिए - संख्याएं यथासंभव एक-दूसरे के करीब होनी चाहिए