https://leetcode.com/problems/detect-pattern-of-length-m-repeated-k-or-more-times/description/ | Easy |
---|
Дан массив целых arr
и два целых числа m
и k
. Нужно вернуть true
, если в массиве существует такая подпоследовательность длины m
, которая повторяется подряд не менее k
раз, иначе вернуть false
.
class Solution {
fun containsPattern(arr: IntArray, m: Int, k: Int): Boolean {
val n = arr.size
for (i in 0..n - k * m) {
var ok = true
for (j in 0 until m) {
for (t in 1 until k) {
if (arr[i + j] != arr[i + t * m + j]) {
ok = false
break
}
}
if (!ok) break
}
if (ok) return true
}
return false
}
}