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

पायथन में जोड़ीदार आसन्न योगों को छोटा करने का कार्यक्रम

मान लीजिए कि हमारे पास गैर-ऋणात्मक संख्याओं की एक सूची है, जैसे अंक और एक गैर-ऋणात्मक मान k। अब मान लीजिए कि हम एक ऑपरेशन कर सकते हैं जहां हम अंकों में एक सकारात्मक संख्या का चयन करते हैं और इसे 1 से घटाते हैं। हमें आवश्यक न्यूनतम संख्या में संचालन करना होगा जैसे कि सूची में आसन्न मानों की प्रत्येक जोड़ी <=के। अगर उत्तर बहुत बड़ा है, तो परिणाम मोड 10^9 + 7 लौटाएं।

इसलिए, यदि इनपुट संख्या =[4, 6, 2, 5], के =6 की तरह है, तो आउटपुट 5 होगा, क्योंकि हम सूची को [3, 3, 1, 4] तक घटा सकते हैं जो कि कुल है 5 कमी का। यहाँ प्रत्येक आसन्न युग्म का योग <=6 है।

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

  • एम =10^9 + 7
  • उत्तर:=0
  • i के लिए 0 से लेकर अंकों के आकार -1 तक के लिए
    • sm :=nums[i] + nums[i + 1]
    • diff :=अधिकतम sm - k और 0
    • अंक[i + 1] :=nums[i + 1] - diff
    • यदि अंक [i + 1] <0, तो
      • अंक[i + 1] :=0
    • उत्तर:=उत्तर + भिन्न
  • वापसी उत्तर मोड एम

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

उदाहरण

m = 10 ** 9 + 7
class Solution:
   def solve(self, nums, k):
      ans = 0
      for i in range(0, len(nums) - 1):
         sm = nums[i] + nums[i + 1]
         diff = max(sm - k, 0)
         nums[i + 1] -= diff
         if nums[i + 1] < 0:
            nums[i + 1] = 0
         ans += diff
      return ans % m
ob = Solution()
nums = [4, 6, 2, 5]
k = 6 print(ob.solve(nums, k))

इनपुट

[4, 6, 2, 5], 6

आउटपुट

5

  1. पायथन में n-ary पेड़ की प्रतिलिपि बनाने का कार्यक्रम

    मान लीजिए, हमें एक एन-आर्य वृक्ष प्रदान किया गया है जिसकी जड़ हमें जड़ दी गई है। हमें पूर्ण एन-आरी बाइनरी ट्री की एक प्रति बनानी होगी और दोनों पेड़ों का प्रीऑर्डर ट्रैवर्सल करना होगा। कॉपी किए गए पेड़ को दूसरे रूट नोड का उपयोग करके संग्रहीत किया जाना है। पेड़ की नोड संरचना नीचे दी गई है - Node: &nbs

  1. पायथन में भारतीय ध्वज बनाने का कार्यक्रम

    ग्राफ बनाने के लिए पायथन के पुस्तकालयों में बहुत व्यापक विशेषताएं हैं जो हमें न केवल चार्ट दे सकती हैं बल्कि हमें झंडे जैसे अन्य आरेखों को खींचने के लिए लचीलापन भी दे सकती हैं। उस अर्थ में उन मॉड्यूलों में कलात्मक स्पर्श होता है। इस लेख में हम देखेंगे कि numpy और matplotlib पुस्तकालयों का उपयोग करके

  1. कॉल करने योग्य () पायथन प्रोग्राम में

    इस ट्यूटोरियल में, हम बिल्ट-इन मेथड callable() पर चर्चा करने जा रहे हैं। . यह एक तर्क लेता है और लौटाता है कि क्या तर्क कॉल करने योग्य . है या नहीं। यदि आप कोई फंक्शन या क्लास लेते हैं, तो वे कॉल करने योग्य होते हैं। पूर्णांक, फ्लोट्स, स्ट्रिंग्स इत्यादि जैसे स्थिरांक कॉल करने योग्य नहीं हैं। उदाहरण