Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python में लगातार संख्याओं की क्रमबद्ध सरणी में लापता तत्व ढूंढना


मान लीजिए हमारे पास n अद्वितीय संख्याओं की एक सरणी A है, ये n तत्व सरणी में आरोही क्रम में मौजूद हैं, लेकिन एक लापता तत्व है। हमें लापता तत्व ढूंढना है।

तो, यदि इनपुट A = [1, 2, 3, 4, 5, 6, 7, 9] की तरह है, तो आउटपुट 8 होगा।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • n := A का आकार

  • left := 0

  • right := n - 1

  • mid := 0

  • जब right > left, करें

    • mid := left + (right - left) / 2

    • यदि A[mid] - mid, A[0] के समान है, तो

      • यदि A[mid + 1] - A[mid] > 1, तो

        • A[mid] + 1 वापस करें

      • अन्यथा,

        • left := mid + 1

    • अन्यथा,

      • यदि A[mid] - A[mid - 1] > 1, तो

        • A[mid] - 1 वापस करें

      • अन्यथा,

        • right := mid - 1

  • -1 वापस करें

उदाहरण

बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

def search_missing_item(A):     n = len(A)     left, right = 0, n - 1     mid = 0     while (right > left):         mid = left + (right - left) // 2         if (A[mid] - mid == A[0]):             if (A[mid + 1] - A[mid] > 1):                 return A[mid] + 1             else:                 left = mid + 1         else:             if (A[mid] - A[mid - 1] > 1):                 return A[mid] - 1             else:                 right = mid - 1     return -1 A = [1, 2, 3, 4, 5, 6, 7, 9] print(search_missing_item(A))

इनपुट

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

आउटपुट

8

  1. Python प्रोग्राम से ऐरे में सबसे बड़ा तत्व खोजना Python प्रोग्राम से ऐरे में सबसे बड़ा तत्व खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक ऐरे दिया गया है, हमें ऐरे के सबसे बड़े तत्व की गणना करने की आवश्यकता है। यहां हम ब्रूट-फोर्स दृष्टिकोण का उपयोग करते हैं जिसमें हम पूरे लूप को पार करके और तत्व प्राप्त करके सबसे बड़ा तत्व निकालते हैं। हम नीच

  1. पायथन प्रोग्राम: ऐरे में सबसे बड़ा एलिमेंट ढूंढें पायथन प्रोग्राम: ऐरे में सबसे बड़ा एलिमेंट ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इनपुट के रूप में एक ऐरे दिए जाने पर, हमें ऐरे में सबसे बड़ा एलिमेंट ढूंढने की आवश्यकता है। दृष्टिकोण हम max को पहले एलिमेंट के रूप में इनिशियलाइज़ करते हैं। इसके बाद, हम दिए गए ऐरे

  1. - पायथन प्रोग्राम: 2D ऐरे में k-वां सबसे छोटा एलिमेंट खोजना

    एक n×n यूजर इनपुट इंटीजर मैट्रिक्स दिया गया है और k का मान। हमारा कार्य 2D ऐरे में k-वां सबसे छोटा एलिमेंट ढूंढना है। यहां हम heapq मॉड्यूल का उपयोग करते हैं। पायथन में हीप क्यू (या heapq) उपलब्ध है। इस मॉड्यूल की तकनीक यह है कि हर बार हीप एलिमेंट का सबसे छोटा पॉप किया जाता है (मिन हीप)। nsmallest()