Contar elementos
Escreva uma função que conte o número de elementos separados na região.
Entrada
Uma matriz retangular, uma lista de listas, com zeros e uns em cada célula. Um elemento conectado é uma coleção de uns que compartilham a borda por meio de um lado. Elementos separados não se tocam, nem mesmo por um canto. Os elementos não têm buracos.
Saída
O número de elementos separados.
Exemplos
region = [
[0, 0, 0, 0, 0, 0, 0],
[0, 0, 1, 0, 1, 1, 0],
[0, 1, 1, 0, 1, 0, 0],
[0, 0, 0, 0, 1, 1, 0],
[0, 1, 1, 0, 1, 1, 0],
[0, 0, 0, 0, 0, 0, 0],
]
count_shapes(region) ➞ 3Observações
- É possível aprender a localizar diferentes elementos na série Chain Reaction.
- As regiões de entrada dos testes levam até 4 segundos para serem montadas. Soluções com complexidade O(rows * columns) permitem passar nos testes nos 8 segundos restantes (3.5 segundos são suficientes).
- O objetivo principal deste desafio é encontrar uma solução eficiente.