मध्यम 0 हल किए गए 0% स्वीकृति

Count Islands

Count groups of connected land cells in a grid.

समस्या

The grid holds 1 for land and 0 for water. Land cells that touch up, down, left or right belong to the same island. Count the islands; a recursive flood fill is a natural approach.

Implement count_islands(grid).

Input

grid: A rectangular grid of 0s and 1s.

Output

Return the number of islands.

सीमाएँ

0 ≤ rows, columns ≤ 100

उदाहरण

उदाहरण 1
इनपुट:
grid = [
    [1, 1, 0, 0],
    [0, 1, 0, 1],
    [0, 0, 0, 1]
]

अपेक्षित आउटपुट:
expected = 2
इनपुट:
std::vector<std::vector<long long>> grid = {
    {1, 1, 0, 0},
    {0, 1, 0, 1},
    {0, 0, 0, 1}
};

अपेक्षित आउटपुट:
long long expected = 2;
इनपुट:
long[][] grid = new long[][] {
    new long[] {1, 1, 0, 0},
    new long[] {0, 1, 0, 1},
    new long[] {0, 0, 0, 1}
};

अपेक्षित आउटपुट:
long expected = 2;

व्याख्या

The top-left group of 3 cells is one island; the two 1s on the right form a second: 2.

उदाहरण 2
इनपुट:
grid = [
    [1, 0, 1],
    [0, 1, 0]
]

अपेक्षित आउटपुट:
expected = 3
इनपुट:
std::vector<std::vector<long long>> grid = {
    {1, 0, 1},
    {0, 1, 0}
};

अपेक्षित आउटपुट:
long long expected = 3;
इनपुट:
long[][] grid = new long[][] {
    new long[] {1, 0, 1},
    new long[] {0, 1, 0}
};

अपेक्षित आउटपुट:
long expected = 3;

व्याख्या

Diagonal neighbors don't connect, so each 1 is its own island: 3.

संदर्भ

यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।

दूसरों से सीखें

समुदाय समाधान

अभी तक कोई प्रकाशित समाधान नहीं। पहला साझा करने के लिए इस चुनौती को हल करें।