मान लीजिए हमारे पास N तत्वों की एक सरणी A है, हमारे पास एक और मान p और एक सेगमेंट आकार k है, हमें जांचना है कि क्या कुंजी p, A में आकार k के हर सेगमेंट में मौजूद है।
यदि इनपुट A = [4, 6, 3, 5, 10, 4, 2, 8, 4, 12, 13, 4], p = 4 और k = 3 जैसा है, तो आउटपुट True होगा।
इसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे:
- i := 0
- जब तक i < n शून्येतर है, करें:
- j := 0
- जब तक j < k, करें:
- यदि arr[j + i] == p, तो ब्रेक
- j := j + 1
- यदि j == k, तो False लौटाएं
- i := i + k
- यदि i == n, तो True लौटाएं
- j := i - k
- जब तक j < n, करें:
- यदि arr[j] == p, तो ब्रेक
- j := j + 1
- यदि j == n, तो False लौटाएं
- True लौटाएं
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
def key_in_segment_k(arr, p, k, n):
i = 0
while i < n:
j = 0
while j < k:
if arr[j + i] == p:
break
j += 1
if j == k:
return False
i = i + k
if i == n:
return True
j = i - k
while j < n:
if arr[j] == p:
break
j += 1
if j == n:
return False
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]
आउटपुट
True