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

पायथन में पत्तियों की सूची से न्यूनतम पेड़ों का योग खोजने का कार्यक्रम

मान लीजिए हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है। यह सूची एक पेड़ के इनऑर्डर ट्रैवर्सल में लीफ नोड्स का प्रतिनिधित्व कर रही है। यहां आंतरिक नोड्स में 2 बच्चे हैं और उनका मूल्य इसके बाएं उपट्री के सबसे बड़े पत्ते के मूल्य और इसके दाहिने उपट्री के सबसे बड़े पत्ते के मूल्य के उत्पाद के समान है। हमें पेड़ का योग उसके मूल्यों के न्यूनतम योग के साथ खोजना होगा

इसलिए, यदि इनपुट nums =[3, 5, 10] जैसा है, तो आउटपुट 83 होगा।

पायथन में पत्तियों की सूची से न्यूनतम पेड़ों का योग खोजने का कार्यक्रम

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

  • res :=अंकों में सभी तत्वों का योग
  • अंकों का आकार> 1, करते समय
    • i :=अंकों के न्यूनतम तत्व का सूचकांक
    • बाएं:=nums[i - 1] जब i> 0 अन्यथा अनंत
    • दाएं:=अंक [i + 1] जब मैं <अंकों का आकार -1 अन्यथा अनंत
    • res :=res + (न्यूनतम बाएँ और दाएँ) * अंक का वां तत्व, फिर अंकों से ith तत्व हटाएं
  • रिटर्न रेस

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

उदाहरण कोड

class Solution:
   def solve(self, nums):
      res = sum(nums)
      while len(nums) > 1:
         i = nums.index(min(nums))
         left = nums[i - 1] if i > 0 else float("inf")
         right = nums[i + 1] if i < len(nums) - 1 else float("inf")
         res += min(left, right) * nums.pop(i)

      return res

ob = Solution()
nums = [3, 5, 10]
print(ob.solve(nums))

इनपुट

[3, 5, 10]

आउटपुट

83

  1. पायथन प्रोग्राम में सरणी का योग ज्ञात करें

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

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

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

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

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