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

पायथन में रेंज योग का समर्थन करने वाली डेटा संरचना को परिभाषित करने के लिए कार्यक्रम

मान लीजिए कि हम एक डेटा संरचना विकसित करना चाहते हैं जो पूर्णांकों की एक सूची के साथ बना सकता है, और जब भी हमें एक कुशल तरीके से आवश्यकता होती है तो इंडेक्स i से इंडेक्स j-1 तक तत्वों का योग खोजने के लिए एक फ़ंक्शन होता है। दो कार्य हैं।

  • कन्स्ट्रक्टर जो पूर्णांक सरणी के साथ एक नया उदाहरण बनाता है।
  • get_sum(i, j) प्रारंभिक अनुक्रमणिका i और अंत अनुक्रमणिका j-1 से सरणी तत्वों के पूर्णांकों का योग देता है।

इसलिए, यदि इनपुट सरणी =[5,2,3,6,4,7,8,9,3,2] की तरह है तो एक ऑब्जेक्ट obj का निर्माण करें, और कॉल फ़ंक्शन obj.get_sum(1,5) और obj। get_sum(4,8), तो आउटपुट क्रमशः 15 और 28 होगा। चूंकि पहली श्रेणी के तत्व [2,3,6,4] हैं, इसलिए योग 15 है और दूसरी श्रेणी के तत्व [4,7,8,9] हैं, यहां योग 28 है।

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

  • कन्स्ट्रक्टर को परिभाषित करें। यह सरणी लेगा
  • sums :=यह एक सूची है, प्रारंभ में 0 डालें
  • सरणी में प्रत्येक x के लिए, करें
      रकम के अंत में
    • सम्मिलित करें (x + (राशि का अंतिम आइटम))
  • एक फ़ंक्शन को परिभाषित करें get_sum() । यह ले जाएगा मैं, जे
  • वापसी की रकम[j] - रकम[i]

उदाहरण

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

class RangeSum:
   def __init__(self, array):
      self.sums = [0]
      for x in array:
         self.sums.append(x + self.sums[-1])
   def get_sum(self, i, j):
      return self.sums[j] - self.sums[i]

array = [5,2,3,6,4,7,8,9,3,2]
obj = RangeSum(array)
print(obj.get_sum(1,5))
print(obj.get_sum(4,8))

इनपुट

[5,2,3,6,4,7,8,9,3,2]
obj.get_sum(1,5)
obj.get_sum(4,8)

आउटपुट

15
28

  1. एक सरणी में व्युत्क्रमों की गणना करने के लिए पायथन कार्यक्रम

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

  1. सरणी रोटेशन के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - एक टेक्स्ट और एक पैटर्न को देखते हुए, हमें टेक्स्ट में पैटर्न और उसके क्रमपरिवर्तन (या विपर्यय) की सभी घटनाओं को प्रिंट करना होगा। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें - उदाहरण # maximum value MAX = 300 #

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

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