Detect Pattern of Length M Repeated K or More Times
给一个整数数组, 一个k和一个m, 求数组中有没有连续k个pattern, 长度为m.
主要是注意一下pattern需要是连续的.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
class Solution { public boolean containsPattern(int[] arr, int m, int k) { if(arr.length < m * k) return false; int i = 0; while(i < arr.length) { int count = 1; for(int j = i + m; j + m <= arr.length; j += m) { if(Arrays.equals(Arrays.copyOfRange(arr, i, i + m), Arrays.copyOfRange(arr, j, j + m))) count++; else break; } if(count >= k) return true; i++; } return false; } } |