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

C# का उपयोग करके दिए गए मैट्रिक्स में द्वीपों की संख्या कैसे प्रिंट करें?


2D ग्रिड मैप को रैखिक रूप से स्कैन करें, यदि एक नोड में '1' है, तो यह एक रूट नोड है जो डेप्थ फर्स्ट सर्च को ट्रिगर करता है। DFS के दौरान, प्रत्येक विज़िट किए गए नोड को '0' के रूप में सेट किया जाना चाहिए ताकि उसे विज़िट किया गया चिह्नित किया जा सके। उन रूट नोड्स की संख्या गिनें जो DFS को ट्रिगर करते हैं, यह संख्या द्वीपों की संख्या होगी क्योंकि किसी रूट पर शुरू होने वाला प्रत्येक DFS एक द्वीप की पहचान करता है।

उदाहरण

using System; namespace ConsoleApplication{    public class Matrix{       public int PrintNumberOfIslands(char[,] grid){          bool[,] visited = new bool[grid.GetLength(0), grid.GetLength(1)];          int res = 0;          for (int i = 0; i < grid.GetLength(0); i++){             for (int j = 0; j < grid.GetLength(1); j++){                if (grid[i, j] == '1' && !visited[i, j]){                   DFS(grid, visited, i, j);                   res++;                }             }          }          return res;       }       public void DFS(char[,] grid, bool[,] visited, int i, int j){          if (i < 0 || i >= grid.GetLength(0)) return;          if (j < 0 || j >= grid.GetLength(1)) return;          if (grid[i, j] != '1' || visited[i, j]) return;          visited[i, j] = true;          DFS(grid, visited, i + 1, j);          DFS(grid, visited, i - 1, j);          DFS(grid, visited, i, j + 1);          DFS(grid, visited, i, j - 1);       }    }    class Program{       static void Main(string[] args){          Matrix m = new Matrix();          char[,] mm = { { '1', '1', '1', '1', '0' }, { '1', '1', '0', '1', '0' }, { '1', '1', '0', '0', '0' }, { '0', '0', '0', '0', '1' } };          Console.WriteLine(m.PrintNumberOfIslands(mm));       }    } }

आउटपुट

2
  1. - JavaScript में नंबर को वैलिडेट कैसे करें?

    isNaN() फंक्शन का उपयोग JavaScript में किसी वैल्यू को नंबर वैलिडेट करने के लिए isNaN() फंक्शन का उपयोग किया जाता है। यह चेक करता है कि वैल्यू NaN (Not a Number) है या नहीं। यदि रिटर्न true हो → वैल्यू नहीं है एक नंबर यदि रिटर्न false हो → वैल्यू है एक नंबर उदाहरण <!DOCTYPE html> <h

  1. JavaScript का उपयोग करके पेज कैसे प्रिंट करें? JavaScript का उपयोग करके पेज कैसे प्रिंट करें?

    JavaScript में पेज प्रिंट करने के लिए, print() मेथड का उपयोग करें। यह मानक डायलॉग बॉक्स खोलता है, जिसके माध्यम से आप आसानी से प्रिंटिंग विकल्प सेट कर सकते हैं जैसे प्रिंटिंग के लिए कौन सा प्रिंटर चुनना है। यहाँ एक उदाहरण है - उदाहरण पेज प्रिंट करना सीखने के लिए निम्न कोड चलाकर देखें - <!DOCTYP

  1. - Python का उपयोग करके अंतराल में सभी अभाज्य संख्याएँ कैसे प्रिंट करें?

    Python में अंतराल में अभाज्य संख्याएँ प्रिंट करना अभाज्य संख्या को एक ऐसी संख्या के रूप में परिभाषित किया गया है जो 1 और स्वयं को छोड़कर किसी अन्य संख्या से विभाज्य नहीं है। इसलिए यह पता लगाने के लिए कि कोई संख्या अभाज्य है, इसे 1 और स्वयं के बीच की सभी संख्याओं से विभाज्यता के लिए जांचना चाहिए, दो