检查长度为 m 的模式重复 K 次或更多次的程序是否存在于 Python 中
假设我们有一个具有正值的数组nums,我们必须找到重复k次或超过k次的长度为m的模式。这里的模式是一个不重叠的子数组(连续),它由一个或多个值组成并重复多次。模式由其长度和重复次数定义。我们必须检查是否存在重复k次或更多次的长度为m的模式。
所以,如果输入像nums=[3,5,1,4,3,1,4,3,1,4,3,9,6,1],m=3,k=2,那么输出将是True因为有一个模式[1,4,3]出现了3次。
示例(Python)
让我们看看以下实现以获得更好的理解-
def solve(nums, m, k):
for i in range(len(nums)):
sub1 = nums[i:i+m*k]
sub2 = nums[i:i+m]*k
if sub1 == sub2:
return True
return False
nums = [3,5,1,4,3,1,4,3,1,4,3,9,6,1]
m = 3
k = 2
print(solve(nums, m, k))输入
[3,5,1,4,3,1,4,3,1,4,3,9,6,1], 3, 2输出结果
True
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练