Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình kiểm tra mẫu độ dài m lặp lại K hoặc nhiều lần có tồn tại hay không trong Python

Giả sử chúng ta có một nums mảng với các giá trị dương, chúng ta phải tìm một mẫu có độ dài m được lặp lại k hoặc nhiều hơn k lần. Ở đây, một mẫu là một mảng con không chồng chéo (liên tiếp) bao gồm một hoặc nhiều giá trị và được lặp lại nhiều lần. Một mẫu được xác định bởi độ dài và số lần lặp lại của nó. Chúng ta phải kiểm tra xem có tồn tại một mẫu độ dài m được lặp lại k lần hoặc nhiều hơn hay không.

Vì vậy, nếu đầu vào giống như nums =[3,5,1,4,3,1,4,3,1,4,3,9,6,1], m =3, k =2, thì đầu ra sẽ là Đúng vì có một mẫu [1,4,3] xuất hiện 3 lần.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • đối với tôi trong phạm vi từ 0 đến kích thước của nums - 1, thực hiện

    • sub1:=mảng con gồm các num từ chỉ số i đến (i + m * k) - 1

    • sub2:=k mảng con liên tiếp gồm các num từ chỉ số i đến (i + m-1)

    • nếu sub1 giống với sub2 thì

      • trả về True

  • trả về Sai

Ví dụ (Python)

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

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))

Đầu vào

[3,5,1,4,3,1,4,3,1,4,3,9,6,1], 3, 2

Đầu ra

True