Skip to content

694. Number of Distinct Islands #30

@altay9

Description

@altay9

https://leetcode.com/problems/number-of-distinct-islands

Burada, bir çok boyutlu array (int[][] grid) veriliyor.
Bu array 0 ve 1 değerlerinden oluşuyor.
Dikey veya yatay olarak gruplanan 1'lere "island" deniyor.
Kaç "distinct island", yani birbirinin aynısı olmayan ada olduğunu bulmamız isteniyor.

Burada "distinct island"ın ne demek olduğunu tam olarak anlamamız gerekir.
Adalar şekil bakımından aynı olmamalıdır.
Yani yan yana konulduklarında, aynı olmadıkları anlaşılacak şekilde olmalıdır.
Bu yüzden aşağıdaki örnekte, iki ada var ama bunlar birbirinin aynı şekle sahip oldukları için 1 değeri dönmüş:

11000
11000
00011
00011

Sonuç : 1

Örnek-2:
11011
10000
00001
11011

Sonuç: 3
Burada, sağ üst köşedeki "11" ve sol alt köşedeki "11" aynı şekle sahip olduklarından onları 1 kere sayacağız.
Diğer adalar ise üçlüdür ve birbirlerine benzeseler de aynı şekle sahip değillerdir. Dolayısı ile 2 de oradan gelir. Sonuç 3 olur.

Varsayılan kod:

class Solution {
    public int numDistinctIslands(int[][] grid) {
        
    }
}

image
image
image
image

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions