কম্পিউটার টিউটোরিয়াল

পাইথনে অ্যারে-এর প্রতিটি k আকারের সেগমেন্টে একটি কী আছে কিনা চেক করুন


मान लीजिए हमारे पास 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

  1. সি++-এ অ্যারেতে একটি কী (Key) থাকার প্রোবাবিলিটি বের করার প্রোগ্রাম

  2. C++-এ অ্যারেতে K আকারের প্রতিটি সেগমেন্টে কি (Key) আছে কিনা তা যাচাই করুন

  3. পাইথনে 'নাইস' জোড়া वाले সাবসিকোয়েন্সের ম্যাক্সিমাম আকার বের করা

  4. পাইথনে যাচাই করুন অ্যারে বাইনারি সার্চ ট্রির ইনঅর্ডার ট্রাভার্সাল কিনা