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

सबसे बड़े उपसमुच्चय की लंबाई ज्ञात करने का कार्यक्रम जहां प्रत्येक जोड़ी में एक तत्व पायथन में दूसरे से विभाज्य है

मान लीजिए कि हमारे पास अंक नामक अद्वितीय संख्याओं की एक सूची है, इसलिए हमें सबसे बड़ा उपसमुच्चय खोजना होगा जैसे कि (i, j) जैसे तत्वों की प्रत्येक जोड़ी i% j =0 या j% i =0 को संतुष्ट करती है। इसलिए हम इस सबसेट का आकार खोजना होगा।

इसलिए, यदि इनपुट संख्या =[3, 6, 12, 24, 26, 39] की तरह है, तो आउटपुट 4 होगा, क्योंकि सबसे बड़ा मान्य उपसमुच्चय [3, 6, 12, 24] है।

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

  • dp :=आकार अंकों की एक सूची और 1 से भरें
  • सूची संख्या क्रमित करें
  • n :=अंकों का आकार
  • यदि n <=1, तो
    • वापसी n
  • उत्तर:=0
  • 1 से n की श्रेणी में i के लिए, करें
    • जे के लिए 0 से i की सीमा में, करें
      • यदि nums[i], nums[j] से विभाज्य है, तो
        • dp[i] :=अधिकतम dp[i] और dp[j] + 1
    • उत्तर:=अधिकतम उत्तर और डीपी[i]
  • वापसी उत्तर

उदाहरण (पायथन)

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

class Solution:
   def solve(self, nums):
      dp = [1] * len(nums)
      nums.sort()
      n = len(nums)
      if n <= 1:
         return n
      ans = 0
      for i in range(1, n):
         for j in range(0, i):
            if nums[i] % nums[j] == 0:
            dp[i] = max(dp[i], dp[j] + 1)
         ans = max(ans, dp[i])
      return ans
ob = Solution()
nums = [3, 6, 12, 24, 26, 39]
print(ob.solve(nums))

इनपुट

[3, 6, 12, 24, 26, 39]

आउटपुट

4

  1. पायथन में एक एन-आरी पेड़ में सबसे लंबे पथ की लंबाई खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक किनारे की सूची है जहां प्रत्येक आइटम धारण कर रहा है (यू, वी) दर्शाता है कि आप वी के माता-पिता हैं। हमें पेड़ में सबसे लंबे पथ की लंबाई का पता लगाना है। पथ की लंबाई उस पथ में 1 + नोड्स की संख्या है। तो, अगर इनपुट पसंद है तो आउटपुट 5 होगा, क्योंकि पथ [1, 4, 5, 7] है, कुल

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

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

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

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