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

प्रोग्राम कई तरीकों को खोजने के लिए हम दो सूचियों को मर्ज कर सकते हैं जैसे कि पायथन में ऑर्डरिंग नहीं बदलता है

मान लीजिए कि हमारे पास दो सूचियाँ nums1 और nums2 हैं। अब बाधा यह है कि जब हम विलय करते हैं तो प्रत्येक सूची में तत्वों का क्रम नहीं बदलता है, उदाहरण के लिए, यदि तत्व [1,2,3] और [4,5,6] हैं, तो कुछ मान्य मर्ज की गई सूचियां हैं [1, 4,2,3,5,6] और [1,2,3,4,5,6], कुछ अन्य मान्य मर्ज अनुक्रम हो सकते हैं। इसलिए यदि हमारे पास सूचियों का आकार N और M है। हमें वैध सूची प्राप्त करने के लिए उन्हें मर्ज करने के कई तरीके खोजने होंगे। यदि उत्तर बहुत बड़ा है तो रिटर्न परिणाम मॉड्यूलो 10^9 + 7.

इसलिए, यदि इनपुट N =5 M =3 जैसा है, तो आउटपुट 56

. होगा

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

  • सेवानिवृत्त:=1
  • मैं के लिए एन + 1 से एन + एम तक, करते हैं
    • ret:=ret * i
  • i के लिए 1 से M की सीमा में, करें
    • ret :=r/i की मंजिल
  • रिटर्न रिट मोड (10^9 + 7)

उदाहरण

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

def solve(N, M):
   ret = 1
   for i in range(N + 1, N + M + 1):
      ret *= i
   for i in range(1, M + 1):
      ret //= i
   return ret % (10**9 + 7)

N = 5
M = 3
print(solve(N, M))

इनपुट

5, 3

आउटपुट

56

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

    मान लीजिए कि हमारे पास गैर-ऋणात्मक संख्याओं की एक सूची है जिन्हें अंक कहा जाता है और एक पूर्णांक लक्ष्य भी है। हमें + और - को ऐसे अंकों में व्यवस्थित करने के तरीकों की संख्या ज्ञात करनी है, ताकि व्यंजक लक्ष्य के बराबर हो। इसलिए, यदि इनपुट संख्या =[2, 3, 3, 3, 2] लक्ष्य =9 की तरह है, तो आउटपुट 2 होग

  1. पायथन में एक संदेश को डिकोड करने के कई तरीकों को खोजने के लिए कार्यक्रम

    मान लीजिए कि हमारे पास ए =1, बी =2, ... जेड =26 जैसी मैपिंग है, और हमारे पास एक एन्कोडेड संदेश संदेश स्ट्रिंग है, हमें इसे डिकोड करने के तरीकों की संख्या गिननी होगी। इसलिए, यदि इनपुट संदेश =222 जैसा है, तो आउटपुट 3 होगा, क्योंकि इसे 3 तरीकों से डिकोड किया जा सकता है:बीबीबी, बीवी, और वीबी। इसे हल क

  1. दो सूचियों के चौराहे को खोजने के लिए पायथन कार्यक्रम?

    इंटरसेक्शन ऑपरेशन का मतलब है, हमें लिस्ट 1 और लिस्ट 2 से सभी सामान्य तत्वों को लेना होगा और सभी तत्वों को दूसरी तीसरी सूची में स्टोर करना होगा। List1::[1,2,3] List2::[2,3,6] List3::[2,3] एल्गोरिदम Step 1: input lists. Step 2: first traverse all the elements in the first list and check with the el