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

पायथन में दी गई सूची से सबसे लंबे फाइबोनैचि अनुक्रम की लंबाई खोजने का कार्यक्रम

मान लीजिए कि हमारे पास संख्या नामक सकारात्मक संख्याओं की सख्ती से वृद्धि की एक सूची है। हमें सबसे लंबी अनुवर्ती ए (न्यूनतम लंबाई 3 की लंबाई) की लंबाई इस तरह से ढूंढनी है कि ए [i] =ए [i - 1] + ए [i - 2] सभी के लिए i> 1.

इसलिए, यदि इनपुट अंकों की तरह है =[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], तो आउटपुट 6 होगा, जैसा कि हम चुन सकते हैं [1, 2, 3, 5, 8, 13]।

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

  • ए:=अंक
  • n :=A का आकार
  • मैक्सलेन:=0
  • S :=A से एक नया सेट
  • मैं के लिए 0 से n की सीमा में, करते हैं
    • i + 1 से n श्रेणी में j के लिए, करें
      • x:=ए[जे]
      • y :=A[i] + A[j]
      • लंबाई:=2
      • जबकि y S में मौजूद है, करें
        • z :=x + y
        • x :=y
        • y :=z
        • लंबाई:=लंबाई + 1
        • अधिकतम लेन :=अधिकतम अधिकतम लेन, लंबाई
  • अगर मैक्सलेन> 2, तो
    • मैक्सलेन लौटाएं
  • अन्यथा,
    • वापसी 0

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

उदाहरण

class Solution:
   def solve(self, nums):
      A = nums
      n = len(A)
      maxLen = 0
      S = set(A)
      for i in range(0, n):
         for j in range(i + 1, n):
            x = A[j]
            y = A[i] + A[j]
            length = 2
            while y in S:
               z = x + y
               x = y
               y = z
               length += 1
               maxLen = max(maxLen, length)
      if maxLen > 2:
         return maxLen
      else:
         return 0
ob = Solution()
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
print(ob.solve(nums))

इनपुट

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

आउटपुट

6

  1. पायथन में सबसे लंबे पैलिंड्रोमिक सबस्ट्रिंग की लंबाई खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक स्ट्रिंग S है। हमें S में सबसे लंबे पैलिंड्रोमिक सबस्ट्रिंग की लंबाई का पता लगाना है। हम मान रहे हैं कि स्ट्रिंग S की लंबाई 1000 है। इसलिए यदि स्ट्रिंग BABAC है, तो सबसे लंबा पैलिंड्रोमिक सबस्ट्रिंग BAB है। और लंबाई 3 है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  1. पायथन में स्ट्रिंग्स की सूची से सबसे लंबा सामान्य उपसर्ग खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास लोअरकेस स्ट्रिंग्स की एक सूची है, हमें सबसे लंबा सामान्य उपसर्ग ढूंढना है। इसलिए, अगर इनपुट [एंटीवायरस, एंटीक्लॉकवाइज, एंटीग्रैविटी] जैसा है, तो आउटपुट एंटी होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - सूची के शब्दों को वर्णानुक्रम में क्रमबद्ध करें उपसर्ग:=एक नई

  1. पायथन में दी गई सूची में k सबसे लंबे शब्द खोजें

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