Dado número entero dos no vacío no negativo matrices A y B , responder a la cantidad de veces que A se produce como contigua, posiblemente superpuestos, submatriz en B .
Ejemplos / Reglas
0. Puede que no haya submatrices
A :
[[3,1],
[1,4]]
B :
[[1,4],
[3,1]]
Responder:
0
1. Las submatrices deben ser contiguas
A :
[[1,4],
[3,1]]
B :
[[3,1,4,0,5],
[6,3,1,0,4],
[5,6,3,0,1]]
Respuesta:
1
(marcado en negrita)
2. Las submatrices pueden superponerse
A :
[[1,4],
[3,1]]
B :
[[3,1,4,5],
[6,3,1,4],
[5,6,3,1]]
Respuesta:
2
(marcado en negrita y cursiva respectivamente)
3. Una (sub) matriz puede ser de tamaño 1 por 1 y superior
A :
[[3]]
B :
[[3,1,4,5],
[6,3,1,4],
[5,6,3,1]]
Respuesta:
3
(marcado en negrita)
4. Las matrices pueden tener cualquier forma.
A :
[[3,1,3]]
[[3,1,3,1,3,1,3,1,3]]
Respuesta:
4
(dos en negrita, dos en cursiva)
⍷
∘
) para acortar el tren:+/∘∊⍷
o incluso≢∘⍸⍷
JavaScript (ES6), 93 bytes
Toma entrada como
(A)(B)
.Pruébalo en línea!
fuente
R , 95 bytes
Pruébalo en línea!
fuente
Limpio ,
1189795 bytesPruébalo en línea!
fuente
Python 2 , 101 bytes
Pruébalo en línea!
fuente
Carbón ,
3627 bytesPruébalo en línea! Mucho más corto ahora que Equals funciona para matrices nuevamente. Explicación:
fuente
Python 2 , 211 bytes
Pruébalo en línea!
Bastante sencillo. Pase a través de la matriz más grande y verifique si la matriz más pequeña puede caber.
El único paso, incluso un poco complicado, es la comprensión de la lista en la sexta línea, que se basa en las convenciones de Python para mezclar aritmética booleana y entera.
fuente
Groovy , 109 bytes
Pruébalo en línea!
fuente
Scala , 151 bytes
Pruébalo en línea!
fuente