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

पायथन में तत्वों की लिस्ट से डुप्लिकेट आइटम ढूंढना


मान लीजिए हमारे पास nums नामक तत्वों की एक लिस्ट है जिसका आकार n + 1 है, उन्हें रेंज 1, 2, ..., n से चुना गया है। जैसा कि हम जानते हैं, पिजनहोल सिद्धांत द्वारा, एक डुप्लिकेट होना चाहिए। हमें डुप्लिकेट ढूंढना है। यहां हमारा लक्ष्य O(n) समय और कॉन्स्टेंट स्पेस में कार्य करना है।

उदाहरण के लिए, यदि इनपुट है nums = [2,1,4,3,5,4], तो आउटपुट होगा 4।

समाधान दृष्टिकोण

चूंकि संख्याएं 1 से n तक हैं और लंबाई n+1 है, सभी तत्वों का योग अपेक्षित योग n*(n+1)/2 से घटाने पर डुप्लिकेट मिल जाता है।

  • q = sum(nums) की गणना करें।
  • n = len(nums)।
  • v = (n - 1) * n // 2 (1 से n-1 तक का योग) की गणना करें।
  • q - v लौटाएं।

पायथन कार्यान्वयन

def solve(nums):
    q = sum(nums)
    n = len(nums)
    v = (n - 1) * (n) // 2
    return q - v

nums = [2,1,4,3,5,4]
print(solve(nums))

इनपुट

[2,1,4,3,5,4]

आउटपुट

4

  1. - Python प्रोग्राम में सूची के तत्वों का योग खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची पुनरावृत्ति दी गई है, हमें सूची का योग निकालने की आवश्यकता है। यहां हम नीचे चर्चा किए गए 3 दृष्टिकोणों पर चर्चा करेंगे For Loop का उपयोग करना उदाहरण # sum total = 0 # एक सूची बनाना list1 = [11, 22, 33,

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

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

  1. - पायथन प्रोग्राम सूची से N सबसे बड़े तत्व खोजने के लिए

    एक पूर्णांक सूची दी गई है, हमारा कार्य सूची में N सबसे बड़े तत्व ढूंढना है। उदाहरण इनपुट : [40, 5, 10, 20, 9] N = 2 आउटपुट: [40, 20] एल्गोरिदम चरण 1: एक पूर्णांक सूची और सबसे बड़ी संख्या की संख्या इनपुट करें। चरण 2: पहले सूची को N बार पार करें। चरण 3: प्रत्येक पारगमन में सबसे बड़ा मान ढूंढें और इसे