Принимая во внимание два непустых неотрицательное целое число матриц и Б , ответить, сколько раз происходит как непрерывный, возможно , перекрывается, подматрицы в B .
Примеры / Правила
0. Не может быть никаких подматриц
A :
[[3,1],
[1,4]]
B :
[[1,4],
[3,1]]
Ответ:
0
1. Подматрицы должны быть смежными
A :
[[1,4],
[3,1]]
B :
[[3,1,4,0,5],
[6,3,1,0,4],
[5,6,3,0,1]]
Ответ:
1
(выделено жирным шрифтом)
2. Подматрицы могут перекрываться
A :
[[1,4],
[3,1]]
B :
[[3,1,4,5],
[6,3,1,4],
[5,6,3,1]]
Ответ:
2
(выделено жирным шрифтом и курсивом соответственно)
3. (Под) матрица может быть размером 1 на 1 и выше
A :
[[3]]
B :
[[3,1,4,5],
[6,3,1,4],
[5,6,3,1]]
Ответ:
3
(выделено жирным шрифтом)
4. Матрицы могут быть любой формы
A :
[[3,1,3]]
[[3,1,3,1,3,1,3,1,3]]
Ответ:
4
(два жирных, два курсива)
⍷
∘
) чтобы сократить поезд:+/∘∊⍷
или даже≢∘⍸⍷
JavaScript (ES6), 93 байта
Принимает вход как
(A)(B)
.Попробуйте онлайн!
источник
R , 95 байт
Попробуйте онлайн!
источник
Чисто ,
1189795 байтПопробуйте онлайн!
источник
Python 2 , 101 байт
Попробуйте онлайн!
источник
Древесный уголь ,
3627 байтПопробуйте онлайн! Гораздо короче теперь, когда Equals снова работает для массивов. Объяснение:
источник
Python 2 , 211 байт
Попробуйте онлайн!
Довольно просто. Пройдите через большую матрицу и проверьте, подходит ли меньшая матрица.
Единственный даже немного сложный шаг - это понимание списка в 6-й строке, которое основано на соглашениях Python для смешивания булевой и целочисленной арифметики.
источник
Groovy , 109 байт
Попробуйте онлайн!
источник
Scala , 151 байт
Попробуйте онлайн!
источник