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

पायथन में अक्षरों और k आकार के संयोजनों में 'a' अक्षर प्राप्त करने की संभावना खोजने का प्रोग्रम


मान लीजिए हमारे पास n अलग-अलग अंग्रेजी अक्षरों की एक सरणी है। हमारे पास एक और मान k भी है। हम एक समान वितरण के साथ k अलग-अलग इंडेक्स (1-इंडेक्स्ड) चुन सकते हैं। हमें वह संभावना ज्ञात करनी है कि चुने गए k इंडेक्स में से कम से कम एक में 'a' अक्षर होगा।

उदाहरण के लिए, यदि इनपुट letters = ['a', 'c', 'a', 'b', 'l', 'a', 'b', 'z'] k = 2 है, तो आउटपुट 64.28% होगा। (1, 2), (1, 3) जैसे संयोजन हैं जैसे 28 संयोजन हैं लेकिन उनमें से कुछ जैसे (1,2), (1,3), (6,7) ऐसे 18 जोड़े हैं जो 'a' रखते हैं, तो 18/28 = 0.6428।

समाधान दृष्टिकोण

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

  • contain := 0
  • total := 0
  • letters के k तत्वों वाले प्रत्येक संयोजन c के लिए, करें
    • यदि "a" c में मौजूद है, तो
      • contain := contain + 1
    • total := total + 1
  • contain/total लौटाएं

उदाहरण

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

from itertools import combinations

def solve(letters, k):
    contain = 0
    total = 0
    for c in combinations(letters, k):
        if "a" in c:
            contain += 1
        total += 1
    return contain/total

letters = ['a', 'c', 'a', 'b', 'l', 'a', 'b', 'z']
k = 2
print(solve(letters, k))

इनपुट

['a', 'c', 'a', 'b', 'l', 'a', 'b', 'z'], 2

आउटपुट

0.6428571428571429
  1. पायथन का उपयोग करके अधिकतम संभावना वाले पथ को खोजने का प्रोग्राम पायथन का उपयोग करके अधिकतम संभावना वाले पथ को खोजने का प्रोग्राम

    मान लीजिए हमारे पास n नोड्स वाला एक अनिर्देशित भारित ग्राफ है (नोड्स 0 से क्रमांकित हैं)। यह ग्राफ एज लिस्ट के रूप में दिया गया है, प्रत्येक एज e के लिए, उस एज को पार करने की सफलता की संभावना probability[e] है। हमारे पास प्रारंभ और अंत नोड्स भी हैं, हमें प्रारंभ से अंत तक जाने के लिए अधिकतम सफलता स

  1. पायथन में नोड और उसके वंशज के बीच अंतर खोजने का प्रोग्राम पायथन में नोड और उसके वंशज के बीच अंतर खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक बाइनरी ट्री है, हमें किसी भी नोड और उसके वंशजों के बीच सबसे बड़ा निरपेक्ष अंतर ढूंढना है।उदाहरण के लिए, यदि इनपुट ट्री है:तो आउटपुट 7 होगा क्योंकि सबसे बड़ा निरपेक्ष अंतर नोड्स 8 और 1 के बीच है।समाधान दृष्टिकोणइसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे (पोस्ट-ऑर्डर

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

    समस्या विवरण पायथन में अधिकतम, न्यूनतम तत्व और उनकी स्थिति खोजना बहुत आसान है। पायथन विभिन्न इनबिल्ट फंक्शन प्रदान करता है। min() सरणी में न्यूनतम मान खोजने के लिए उपयोग किया जाता है, max() अधिकतम मान खोजने के लिए उपयोग किया जाता है। index() तत्व के इंडेक्स खोजने के लिए उपयोग किया जाता है। एल्गोरिद