একটি পজিটিভ মান দিয়ে nums অ্যারে দেওয়া আছে। m দৈর্ঘ্যের একটি প্যাটার্ন k বা ততোধিকবার রিপিট হয়েছে কিনা যাচাই করতে হবে। প্যাটার্ন = নন-ওভারল্যাপিং সাবঅ্যারে (কনসিকিউটিভ) যা একাধিকবার রিপিট হয়।
ইনপুট: nums = [3,5,1,4,3,1,4,3,1,4,3,9,6,1], m = 3, k = 2 → আউটপুট: True। প্যাটার্ন [1,4,3] ৩বার পাওয়া গেছে।
সমাধানের ধাপসমূহ
i = 0 থেকে len(nums)-1:
- sub1 = nums[i : i + m*k]
- sub2 = nums[i : i+m] * k (k বার রিপিট)
- যদি sub1 == sub2: return True
return False
উদাহরণ (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