... o vecindarios de Toroidal Moore
Enteros positivos Dadas h
, w
y un número entero no negativo i
, devolver todos los índices de los alrededores i
.
Debe asumir una matriz que consiste en h
filas de w
elementos, numerados desde el más bajo, en la esquina superior izquierda, hasta el más alto, en la esquina inferior derecha, y devolver, en cualquier formato razonable, una lista de los índices que rodear el índice, i
. Esta matriz es un toro (un mapa infinito que se envuelve alrededor de cada borde).
Por ejemplo, las entradas h=4
y w=4
, darían como resultado la matriz:
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
pero más específicamente:
15 12 13 14 15 12
3 0 1 2 3 0
7 4 5 6 7 4
11 8 9 10 11 8
15 12 13 14 15 12
3 0 1 2 3 0
así que si i
fuera así 0
, necesitaría regresar 15, 12, 13, 3, 1, 7, 4, 5
(basado en 0).
Ejemplos
Basado en 0:
h w i Expected result
4 4 5 0, 1, 2, 4, 6, 8, 9, 10
4 4 0 15, 12, 13, 3, 1, 7, 4, 5
4 5 1 15, 16, 17, 0, 2, 5, 6, 7
1 3 2 1, 2, 0, 1, 0, 1, 2, 0
1 1 0 0, 0, 0, 0, 0, 0, 0, 0
Basado en 1:
h w i Expected result
4 4 6 1, 2, 3, 5, 7, 9, 10, 11
4 4 1 16, 13, 14, 4, 2, 8, 5, 6
4 5 2 16, 17, 18, 1, 3, 6, 7, 8
1 3 3 2, 3, 1, 2, 1, 2, 3, 1
1 1 1 1, 1, 1, 1, 1, 1, 1, 1
Reglas
- Su respuesta puede ser 0 o 1 indexada, su elección, por favor especifique.
- Puede suponer eso
i < h * w
(oi <= h * w
para respuestas indexadas 1). - Puede suponer eso
i >= 0
(oi > 0
para respuestas indexadas 1). - El orden de los valores devueltos no es importante siempre que se incluyan solo los ocho valores deseados.
- Las lagunas estándar están prohibidas .
- Este es el código de golf, por lo que la respuesta más corta, en cada idioma, ¡gana!
¡Gracias a @Conor O'Brien por el título más técnico y a @ngm por más casos de prueba!