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

पायथन में संख्याओं की लिस्ट से लोकल पीक एलिमेंट इंडेक्स ढूंढना


मान लीजिए हमारे पास nums नामक संख्याओं की एक लिस्ट है जिसकी लंबाई कम से कम 2 है। हमें लिस्ट में हर पीक का इंडेक्स ढूंढना है। लिस्ट आरोही क्रम में सॉर्टेड है। एक इंडेक्स i पीक होता है जब:

  • nums[i] > nums[i + 1] जब i = 0
  • nums[i] > nums[i - 1] जब i = n - 1
  • nums[i - 1] < nums[i] > nums[i + 1] अन्यथा

उदाहरण के लिए, यदि इनपुट है nums = [5, 6, 7, 6, 9], तो आउटपुट होगा [2, 4], क्योंकि इंडेक्स 2 पर तत्व 7 है जो दोनों पड़ोसियों से बड़ा है, और इंडेक्स 4 पर आइटम 9 है, यह अपने बाएं आइटम से बड़ा है।

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

सभी इंडेक्स पर पुनरावृति करें और परिभाषा के अनुसार पीक की शर्तों की जांच करें।

  • ans खाली लिस्ट से आरंभ करें।
  • n = len(nums)।
  • यदि n == 1, तो खाली लिस्ट लौटाएं।
  • प्रत्येक इंडेक्स i और संख्या num के लिए:
    • यदि 0 < i < n-1 और nums[i-1] < num > nums[i+1], तो i जोड़ें।
    • यदि i == 0 और num > nums[1], तो i जोड़ें।
    • यदि i == n-1 और num > nums[n-2], तो i जोड़ें।
  • ans लौटाएं।

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

def solve(nums):
    ans = []
    n = len(nums)
    if n == 1:
        return ans
    for i, num in enumerate(nums):
        if i > 0 and i < n - 1:
            if nums[i - 1] < num > nums[i + 1]:
                ans.append(i)
        if i == 0:
            if num > nums[i + 1]:
                ans.append(i)
        if i == n - 1:
            if num > nums[i - 1]:
                ans.append(i)
    return ans

nums = [5, 6, 7, 6, 9]
print(solve(nums))

इनपुट

[5, 6, 7, 6, 9]

आउटपुट

[2, 4]

  1. - Python प्रोग्राम इनपुट स्ट्रिंग के सभी क्लोज मैच को सूची से खोजने के लिए

    इस ट्यूटोरियल में, हम एक समस्या का समाधान ढूंढने जा रहे हैं। आइए देखें कि समस्या क्या है। हमारे पास स्ट्रिंग्स की एक सूची और एक एलिमेंट है। हमें सूची से स्ट्रिंग्स ढूंढनी हैं जिनमें वे दिए गए एलिमेंट से बारीकी से मेल खाते हों। उदाहरण देखें।इनपुट स्ट्रिंग्स = [Lion, Li, Tiger, Tig] एलिमेंट = Lion आउट

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

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

  1. - पायथन प्रोग्राम: लिस्ट से डुप्लिकेट एलिमेंट्स हटाना

    एक लिस्ट दी गई है जिसमें डुप्लिकेट एलिमेंट हैं, हमारा कार्य एक और लिस्ट बनाना है जिसमें बिना डुप्लिकेट के एलिमेंट्स हों।उदाहरणA::[2, 3, 4, 3, 4, 6, 78, 90] Output::[2, 3, 4, 6, 78, 90]एल्गोरिदमचरण 1: एक लिस्ट बनाएं। चरण 2: एक नई लिस्ट बनाएं जो खाली हो। चरण 3: लिस्ट में हर एलिमेंट को ट्रैवर्स करें। च