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

पायथन में लगातार संख्याओं की क्रमबद्ध सरणी में लापता तत्व खोजें


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

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

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

  • n :=A का आकार

  • बायां :=0

  • दाएं:=n - 1

  • मध्य:=0

  • जबकि दाएँ> बाएँ , करें

    • मध्य:=बाएँ + (दाएँ - बाएँ) / 2

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

      • अगर ए [मध्य + 1] - ए [मध्य]> 1, तो

        • वापसी A[मध्य] + 1

      • अन्यथा,

        • बायां :=मध्य + 1

    • अन्यथा,

      • अगर ए [मध्य] - ए [मध्य -1]> 1, तो

        • वापसी ए[मध्य] - 1

      • अन्यथा,

        • दाएं:=मध्य - 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. एक सरणी में सबसे बड़ा तत्व खोजने के लिए पायथन प्रोग्राम

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

  1. एक सरणी में सबसे बड़ा तत्व खोजने के लिए पायथन कार्यक्रम

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

  1. 2D सरणी में k'th सबसे छोटा तत्व खोजने के लिए पायथन प्रोग्राम

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