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

जावास्क्रिप्ट में विशिष्ट आकार की बाइनरी सर्पिल सरणी बनाना

<घंटा/>

समस्या

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो संख्या n लेता है। हमारे फ़ंक्शन को एन * एन ऑर्डर (2-डी सरणी) की एक सरणी बनाना और वापस करना चाहिए, जिसमें 1 एस [0, 0] से शुरू होने वाली सभी सर्पिलिंग स्थिति लेते हैं और सभी 0 गैर-सर्पिलिंग स्थिति लेते हैं।

इसलिए, n =5 के लिए, आउटपुट −

. जैसा दिखेगा
[
   [ 1, 1, 1, 1, 1 ],
   [ 0, 0, 0, 0, 1 ],
   [ 1, 1, 1, 0, 1 ],
   [ 1, 0, 0, 0, 1 ],
   [ 1, 1, 1, 1, 1 ]
]

उदाहरण

निम्नलिखित कोड है -

const num = 5;
const spiralize = (num = 1) => {
   const arr = [];
   let x, y;
   for (x = 0; x < num; x++) {
      arr[x] = Array.from({
         length: num,
      }).fill(0);
   }
   let left = 0;
   let right = num;
   let top = 0;
   let bottom = num;
   x = left;
   y = top;
   let h = Math.floor(num / 2);
   while (left < right && top < bottom) {
      while (y < right) {
         arr[x][y] = 1;
         y++;
      }
      y--;
      x++;
      top += 2;
      if (top >= bottom) break;
      while (x < bottom) {
         arr[x][y] = 1;
         x++;
      }
      x--;
      y--;
      right -= 2;
      if (left >= right) break;
      while (y >= left) {
         arr[x][y] = 1;
         y--;
      }
      y++;
      x--;
      bottom -= 2;
      if (top >= bottom) break;
      while (x >= top) {
         arr[x][y] = 1;
         x--;
      }
      x++;
      y++;
      left += 2;
   }
   if (num % 2 == 0) arr[h][h] = 1;
   return arr;
};
console.log(spiralize(num));

आउटपुट

कंसोल आउटपुट निम्नलिखित है -

[
   [ 1, 1, 1, 1, 1 ],
   [ 0, 0, 0, 0, 1 ],
   [ 1, 1, 1, 0, 1 ],
   [ 1, 0, 0, 0, 1 ],
   [ 1, 1, 1, 1, 1 ]
]

  1. जावास्क्रिप्ट array.flatMap ()

    जावास्क्रिप्ट की array.flatMap () विधि का उपयोग इनपुट सरणी तत्व को एक नए सरणी में समतल करने के लिए किया जाता है। वाक्य रचना इस प्रकार है - array.flatMap(function callback(current_value, index, Array)) आइए अब जावास्क्रिप्ट में array.flatMap() विधि को लागू करें - उदाहरण <!DOCTYPE html> <h

  1. जावास्क्रिप्ट ऐरे स्लाइस ()

    एक सरणी में चयनित तत्वों को वापस करने के लिए जावास्क्रिप्ट की स्लाइस () विधि का उपयोग किया जाता है। वाक्य रचना इस प्रकार है - array.slice(start, end) ऊपर, प्रारंभ पैरामीटर एक पूर्णांक है जो निर्दिष्ट करता है कि चयन कहां से शुरू करना है, जबकि अंत वह है जहां चयन समाप्त होता है। आइए अब जावास्क्रिप्

  1. नए कीवर्ड के साथ जावास्क्रिप्ट सरणी बनाना।

    नए कीवर्ड के साथ JavaScript सरणी बनाने के लिए निम्नलिखित कोड है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Docume