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

पायथन का उपयोग करके विषम योग के साथ उप-सरणियों की संख्या खोजने का कार्यक्रम

मान लीजिए कि हमारे पास एक सरणी है। हमें विषम योग के साथ उप-सरणियों की संख्या ज्ञात करनी है। अगर उत्तर बहुत बड़ा है तो परिणाम मॉड्यूल 10^9+7 लौटाएं।

इसलिए, यदि इनपुट arr =[8,3,7] जैसा है, तो आउटपुट 3 होगा क्योंकि सभी उप सरणियाँ [[8], [3], [7], [8,3], [3] हैं। 7],[8,3,7]] अब उनका योग मान [8,3,7,11,10,18] है, इसलिए तीन विषम योग मान हैं [3,7,11]।

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

  • freq :=दो तत्वों 1 और 0 के साथ एक सूची

  • उत्तर :=0

  • उपसर्ग :=0

  • गिरफ्तारी में प्रत्येक x के लिए, करें

    • उपसर्ग :=उपसर्ग + x

    • उत्तर:=उत्तर + फ़्रीक[1 XOR उपसर्ग और 1]

    • freq[उपसर्ग और 1]:=freq[उपसर्ग और 1] + 1

  • वापसी उत्तर मोड (10^9+7)

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

उदाहरण

def solve(arr):
   freq = [1, 0]
   ans = prefix = 0
   for x in arr:
      prefix += x
      ans += freq[1 ^ prefix&1]
      freq[prefix &s; 1] += 1
   return ans % (10**9+7)
arr = [8,3,7]
print(solve(arr))

इनपुट

[8,3,7]

आउटपुट

3

  1. पायथन का उपयोग करके समान लेबल वाले उप-वृक्ष में नोड्स की संख्या खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास n नोड्स वाला एक रूटेड सामान्य ट्री है, जिसके नोड्स 0 से n-1 तक गिने जाते हैं। प्रत्येक नोड में लोअरकेस अंग्रेजी अक्षर वाला एक लेबल होता है। लेबल्स को लेबल एरे में इनपुट के रूप में दिया जाता है, जहां लेबल्स [i] में ith नोड के लिए लेबल होता है। पेड़ को किनारे की सूची द्वारा दर्श

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

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

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

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