1.题目描述
2.核心思路
一个暴力方法,主要就是锁定每次要比较的长度,然后依次移动去比较是否相同,难点就是怎么比较
3.代码实现
bool containsPattern(int* arr, int arrSize, int m, int k){
for(int i=0;i<=arrSize-m*k;i++)
{
bool flag=true;
for(int j=i;j<m*k+i;j++)
{
if(arr[j]!=arr[i+(j-i)%m])//i+(j-i)%m可以正好满足比较的长度
{
flag=false;
}
}
if(flag)
{
return true;
}
}
return false;
}
4.总结
很巧妙的一个题,这样做是最简洁的代码了