Wenn zwei nicht leere nicht negative Ganzzahlmatrizen A und B gegeben sind , antworten Sie, wie oft A als zusammenhängende, möglicherweise überlappende Untermatrix in B auftritt .
Beispiele / Regeln
0. Es dürfen keine Submatrizen vorhanden sein
A :
[[3,1],
[1,4]]
B :
[[1,4],
[3,1]]
Antworten:
0
1. Untermatrizen müssen zusammenhängend sein
A :
[[1,4],
[3,1]]
B :
[[3,1,4,0,5],
[6,3,1,0,4],
[5,6,3,0,1]]
Antwort:
1
(fett markiert)
2. Submatrizen können sich überlappen
A :
[[1,4],
[3,1]]
B :
[[3,1,4,5],
[6,3,1,4],
[5,6,3,1]]
Antwort:
2
(fett und kursiv markiert)
3. Eine (Unter-) Matrix kann eine Größe von 1 zu 1 und höher haben
A :
[[3]]
B :
[[3,1,4,5],
[6,3,1,4],
[5,6,3,1]]
Antwort:
3
(fett markiert)
4. Matrizen können jede Form haben
A :
[[3,1,3]]
[[3,1,3,1,3,1,3,1,3]]
Antwort:
4
(zwei fett, zwei kursiv)
⍷
∘
) , um den Zug zu verkürzen:+/∘∊⍷
oder sogar≢∘⍸⍷
JavaScript (ES6), 93 Byte
Übernimmt die Eingabe als
(A)(B)
.Probieren Sie es online!
quelle
R , 95 Bytes
Probieren Sie es online!
quelle
Sauber ,
1189795 BytesProbieren Sie es online!
quelle
Python 2 , 101 Bytes
Probieren Sie es online!
quelle
Kohle ,
3627 BytesProbieren Sie es online! Viel kürzer jetzt, da Equals wieder für Arrays funktioniert. Erläuterung:
quelle
Python 2 , 211 Bytes
Probieren Sie es online!
Ziemliech direkt. Gehen Sie die größere Matrix durch und prüfen Sie, ob die kleinere Matrix passt.
Der einzige noch etwas knifflige Schritt ist das Listenverständnis in der 6. Zeile, das sich auf Pythons Konventionen zum Mischen von Boolescher und ganzzahliger Arithmetik stützt.
quelle
Groovy , 109 Bytes
Probieren Sie es online!
quelle
Scala , 151 Bytes
Probieren Sie es online!
quelle