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

अजगर में एक परिपत्र सूची में गैर-आसन्न तत्वों का योग खोजने के लिए कार्यक्रम

मान लीजिए हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है जो एक गोलाकार सूची का प्रतिनिधित्व कर रहा है। हमें गैर-आसन्न संख्याओं का सबसे बड़ा योग ज्ञात करना है।

इसलिए, यदि इनपुट nums =[10, 3, 4, 8] की तरह है, तो आउटपुट 14 होगा, क्योंकि हम 10 और 4 ले सकते हैं। हम 10 और 8 नहीं ले सकते क्योंकि वे आसन्न हैं।

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

  • n :=अंकों का आकार
  • nums1 :=nums[सूचकांक 0 से n - 2 तक]
  • nums2 :=nums[सूचकांक 1 से अंत तक]
  • फ़ंक्शन f() को परिभाषित करें। इसमें मुझे लगेगा
  • यदि i>=nums1 का आकार, तो
    • वापसी 0
  • अधिकतम nums1[i] + f(i + 2) और f(i + 1) लौटाएं
  • एक फ़ंक्शन को परिभाषित करें g() । इसमें ज लगेगा
  • यदि j>=nums2 का आकार, तो
    • वापसी 0
  • अधिकतम nums2[j] + g(j + 2) और g(j + 1) लौटाएं
  • मुख्य विधि से निम्न कार्य करें -
  • अधिकतम f(0) और g(0) लौटाएं

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

उदाहरण

class Solution:
   def solve(self, nums):
      n = len(nums)
      nums1 = nums[: n - 1]
      nums2 = nums[1:]
      def f(i):
         if i >= len(nums1):
            return 0
         return max(nums1[i] + f(i + 2), f(i + 1))
      def g(j):
         if j >= len(nums2):
            return 0
         return max(nums2[j] + g(j + 2), g(j + 1))
      return max(f(0), g(0))
ob = Solution()
nums = [10, 3, 4, 8]
print(ob.solve(nums))

इनपुट

[10, 3, 4, 8]

आउटपुट

14

  1. पायथन में एक पेड़ के गैर-आसन्न नोड्स की अधिकतम राशि खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है, हमें उन मानों का अधिकतम योग ज्ञात करना होगा जो प्राप्त किए जा सकते हैं, कोई भी दो मान बच्चे के आसन्न माता-पिता नहीं हो सकते हैं। तो, अगर इनपुट पसंद है तो आउटपुट 17 होगा क्योंकि 10, 4, 3 एक दूसरे से सटे नहीं हैं। इसे हल करने के लिए, हम इन चरणों का पालन क

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

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची दी गई है, हमें संचयी राशि के साथ एक सूची बनानी होगी। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें - उदाहरण # cumulative sum def Cumulative(l):    new = []    cumsum = 0   &nb

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

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