समस्या विवरण
सरणी A, मान p, और सेगमेंट आकार k दिए गए हैं। जांचें कि क्या p आकार k के हर सेगमेंट में मौजूद है।
उदाहरण
इनपुट: A = [4, 6, 3, 5, 10, 4, 2, 8, 4, 12, 13, 4], p = 4, k = 3
आउटपुट: True
सेगमेंट्स: [4,6,3], [5,10,4], [2,8,4], [12,13,4] — सभी में 4 है
एल्गोरिदम
i = 0- जब तक
i < n:- वर्तमान सेगमेंट
iसेi+k-1मेंpखोजें - नहीं मिला →
False i += k
- वर्तमान सेगमेंट
- अंतिम आंशिक सेगमेंट (यदि
n % k != 0) की भी जांच करें True
पायथन कार्यान्वयन
def key_in_segment_k(arr, p, k, n):
i = 0
while i < n:
found = False
for j in range(min(k, n - i)):
if arr[i + j] == p:
found = True
break
if not found:
return False
i += k
return True
arr = [4, 6, 3, 5, 10, 4, 2, 8, 4, 12, 13, 4]
p, k = 4, 3
n = len(arr)
print(key_in_segment_k(arr, p, k, n))
इनपुट
[4, 6, 3, 5, 10, 4, 2, 8, 4, 12, 13, 4], 4, 3
आउटपुट
True