Trung bình 0 đã giải Tỷ lệ chấp nhận 0%

Chu vi đảo

Tính chiều dài đường bờ biển của các ô đất trong lưới.

Lưới chứa 1 cho ô đất và 0 cho ô nước. Mỗi ô đất là một hình vuông 1×1. Hãy tính tổng chu vi của tất cả các ô đất: mỗi cạnh của ô đất tiếp giáp với nước hoặc cạnh ngoài của lưới đều được tính là 1.

Cài đặt hàm island_perimeter(grid).

Đầu vào

grid: Một lưới hình chữ nhật gồm các số 0 và 1.

Đầu ra

Trả về tổng chu vi.

Ràng buộc

0 ≤ số hàng, số cột ≤ 200

Ví dụ

Ví dụ 1
Đầu vào:
grid = [
    [0, 1, 0, 0],
    [1, 1, 1, 0],
    [0, 1, 0, 0],
    [1, 1, 0, 0]
]

Kết quả mong đợi:
expected = 16
Đầu vào:
std::vector<std::vector<long long>> grid = {
    {0, 1, 0, 0},
    {1, 1, 1, 0},
    {0, 1, 0, 0},
    {1, 1, 0, 0}
};

Kết quả mong đợi:
long long expected = 16;
Đầu vào:
long[][] grid = new long[][] {
    new long[] {0, 1, 0, 0},
    new long[] {1, 1, 1, 0},
    new long[] {0, 1, 0, 0},
    new long[] {1, 1, 0, 0}
};

Kết quả mong đợi:
long expected = 16;

Giải thích

Có 7 ô đất với tổng 28 cạnh; 6 cạnh chung loại bỏ 12: chu vi là 16.

Ví dụ 2
Đầu vào:
grid = [
    [1]
]

Kết quả mong đợi:
expected = 4
Đầu vào:
std::vector<std::vector<long long>> grid = {
    {1}
};

Kết quả mong đợi:
long long expected = 4;
Đầu vào:
long[][] grid = new long[][] {
    new long[] {1}
};

Kết quả mong đợi:
long expected = 4;

Giải thích

Một ô đất đơn lẻ có 4 cạnh.

Tham khảo

Thử thách này đã được điều chỉnh cho CodeUtility. Hãy làm theo đề bài và các ràng buộc ở trên.

Học hỏi từ người khác

Giải pháp cộng đồng

Chưa có giải pháp nào được chia sẻ. Hãy giải thử thách này để đăng giải pháp đầu tiên.