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

पायथन में दी गई श्रेणी में तत्वों को अद्यतन करने का कार्यक्रम

मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है और संचालन की एक सूची है। यहां प्रत्येक ऑपरेशन में तीन फ़ील्ड हैं [एल, आर, एक्स], यह इंगित करता है कि हमें एक्स से सभी तत्वों को इंडेक्स एल से आर (समावेशी) तक बढ़ाना चाहिए। हमें सभी ऑपरेशन लागू करने होंगे और अंतिम सूची वापस करनी होगी।

इसलिए, यदि इनपुट अंकों की तरह है =[8, 4, 2, 9, 4] संचालन =[[0, 0, 3], [1, 3, 2], [2, 3, 5]], तो आउटपुट [11, 6, 9, -2, 4] होगा, क्योंकि प्रारंभिक सूची [8, 4, 2, -9, 4] थी।

  • पहला ऑपरेशन करना [0, 0, 3] सूची [11, 4, 2, -9, 4] होगी।
  • पहला ऑपरेशन करना [1, 3, 2] सूची [11, 6, 4, -7, 4] होगी।
  • पहला ऑपरेशन करना [2, 3, 5] सूची [11, 6, 9, -2, 4] होगी।

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

  • घटनाक्रम:=एक नई सूची
  • संचालन में प्रत्येक (l, r, inc) के लिए, करें
    • इवेंट के अंत में (l, inc) डालें
    • इवेंट के अंत में (r + 1, -inc) डालें
  • सूची ईवेंट क्रमबद्ध करें
  • इंक:=0, पीटीआर:=0
  • मैं के लिए 0 से लेकर अंकों के आकार तक, करें
    • जबकि ptr <घटनाओं और घटनाओं का आकार[ptr, 0] वही है जो i, do
        . है
      • inc :=inc + इवेंट्स[ptr, 1]
      • ptr:=ptr + 1
    • अंक[i] :=nums[i] + inc
  • रिटर्न अंक

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

उदाहरण

class Solution:
   def solve(self, nums, operations):
      events = []
      for l, r, inc in operations:
         events.append((l, inc))
         events.append((r + 1, -inc))
      events.sort()
      inc = 0
      ptr = 0
      for i in range(len(nums)):
         while ptr < len(events) and events[ptr][0] == i:
            inc += events[ptr][1]
            ptr += 1
         nums[i] += inc
      return nums
ob = Solution()
nums = [8, 4, 2, -9, 4]
operations = [ [0, 0, 3], [1, 3, 2], [2, 3, 5] ]
print(ob.solve(nums, operations))

इनपुट

[1,2,3,4,5,6,7,8,9,10], 3

आउटपुट

[11, 6, 9, -2, 4]

  1. पायथन में सीमा में तत्वों को हटाएं

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

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

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

  1. किसी दिए गए पूर्णांक सरणी के सभी विशिष्ट तत्वों को मुद्रित करने के लिए पायथन प्रोग्राम।

    एक पूर्णांक सरणी को देखते हुए। सरणी के तत्व डुप्लिकेट हो सकते हैं। हमारा कार्य विशिष्ट मानों को प्रदर्शित करना है। उदाहरण इनपुट::ए=[1,2,3,4,2,3,5,6]आउटपुट [1,2,3,4,5,6] एल्गोरिदम चरण 1:इनपुट ऐरे तत्व। चरण 2:फिर सभी तत्वों को एक-एक करके चुनें। चरण 3:फिर जांचें कि चुना गया तत्व पहले से प्रदर्शित है या