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

पायथन में K उपसर्ग

मान लीजिए कि हमारे पास संख्याओं की एक सूची है और एक पूर्णांक k है, तो हमें अधिकतम संभव i खोजना होगा जहां nums[0] + nums[1] + ... + nums[i] k. यदि कोई मान्य i मौजूद नहीं है तो हम -1 लौटा देंगे।

इसलिए, यदि इनपुट संख्या =[4, -7, 5, 2, 6], k =5 की तरह है, तो आउटपुट 3 होगा, सूचकांक 3 है जैसे कि हम 4+(-7)+5+2 जोड़ते हैं =4, यह k से कम है, यदि हम अंतिम तत्व जोड़ते हैं तो यह k से कम नहीं रहेगा, इसलिए सूचकांक 3 है।

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

  • i के लिए 1 से लेकर अंकों के आकार -1 तक के लिए
    • nums[i] :=nums[i] + nums[i-1]
  • मैं के लिए संख्या -1 से -1 के श्रेणी आकार में, 1 से घटाएं
    • यदि अंक[i]<=k, तो
      • वापसी मैं
  • वापसी -1

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

उदाहरण

class Solution:
   def solve(self, nums, k):
      for i in range(1,len(nums)):
         nums[i]+=nums[i-1]
         for i in range(len(nums)-1,-1,-1):
            if nums[i]<=k:
                return i
      return -1
ob = Solution()
nums = [4, -7, 5, 2, 6]
k = 5
print(ob.solve(nums, k))

इनपुट

[4, -7, 5, 2, 6], 5

आउटपुट

3

  1. पायथन में सबसे लंबा सामान्य उपसर्ग

    मान लीजिए कि हमारे पास एक सरणी में स्ट्रिंग्स का एक सेट है। हमें सरणी में स्ट्रिंग के बीच सबसे लंबा सामान्य उपसर्ग ढूंढना है। यहां हम मानेंगे कि सभी स्ट्रिंग्स लोअर केस स्ट्रिंग्स हैं। और अगर कोई सामान्य उपसर्ग नहीं है, तो वापस करें। तो अगर एक स्ट्रिंग की सरणी [स्कूल, शेड्यूल, स्कॉटलैंड] की तरह है

  1. द्विभाजित - पायथन में सरणी द्विभाजन एल्गोरिथ्म

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

  1. पायथन में स्ट्रिंग्स को संख्याओं को कैसे प्रारूपित करें?

    आप स्ट्रिंग पर फ़ॉर्मेट फ़ंक्शन का उपयोग करके पायथन में एक फ्लोटिंग नंबर को एक निश्चित चौड़ाई में प्रारूपित कर सकते हैं। उदाहरण nums = [0.555555555555, 1, 12.0542184, 5589.6654753] for x in nums:    print("{:10.4f}".format(x)) आउटपुट यह आउटपुट देगा - 0.5556 1.0000 12.0542 5589.6