枚举解法:
1.因为连续的相等的值是有周期性的,所以用for循环来遍历i和i+m的值是否相等,相等的话就让tmp值加1操作等tmp的值加到一定程度时就满足了重复k次的条件。之后我们用枚举来遍历数组上每个节点的连续模式。
class Solution {
public boolean containsPattern(int[] arr, int m, int k) {
int n =arr.length;
if(m*k>n){
return false;
}
int tmp=m;
//来进行连续的遍历
for(int i=0;i<n-m;i++){
//判断这个值和这个值的下一个周期的值是否相等
if(arr[i]==arr[i+m]){
tmp++;
}else{
tmp=m;
}
//来判断重复的次数是否达到标准
if(tmp/m== k){
return true;
}
}
return false;
}
}