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

पायथन में बाइनरी सूची में योग के साथ उपन्यासकारों की संख्या खोजने का कार्यक्रम

मान लीजिए कि हमारे पास 0s या 1s के साथ एक बाइनरी सूची है। हमारे पास k नामक एक अन्य इनपुट भी है, हमें उन सबलिस्ट्स की संख्या ज्ञात करनी है जिनका योग k के समान है।

इसलिए, यदि इनपुट संख्या =[1, 0, 0, 1, 1, 1, 0, 1] k =3 की तरह है, तो आउटपुट 8 होगा क्योंकि सबलिस्ट [1,0,0,1,1] हैं ], [0,0,1,1,1], [0,0,1,1,1,0], [0,1,1,1], [0,1,1,1,0], [1,1,1], [1,1,1,0] [1,1,0,1]।

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

  • sums :=एक मानचित्र में प्रारंभ में कुंजी 0 के लिए valye 1 होता है
  • r_sum :=0
  • उत्तर:=0
  • अंकों में प्रत्येक x के लिए, करें
    • r_sum :=r_sum + x
    • उत्तर:=उत्तर + (योग [r_sum - k] यदि (r_sum - k) मौजूद है, अन्यथा 0)
    • sums[r_sum] :=1 + (योग [r_sum - k] यदि (r_sum - k) मौजूद है, अन्यथा 0)
  • वापसी उत्तर

उदाहरण

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

def solve(nums, k):
   sums = {0: 1}
   r_sum = 0
   ans = 0

   for x in nums:
      r_sum += x
      ans += sums.get(r_sum - k, 0)
      sums[r_sum] = sums.get(r_sum, 0) + 1

   return ans

nums = [1, 0, 0, 1, 1, 1, 0, 1]
k = 3
print(solve(nums, k))

इनपुट

[1, 0, 0, 1, 1, 1, 0, 1], 3

आउटपुट

8

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

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

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

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

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

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