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

Python में अनुक्रम से अधिकतम k-दोहराव वाला सबस्ट्रिंग खोजें

मान लीजिए हमारे पास s नामक कैरेक्टर्स का एक अनुक्रम है, हम कहते हैं कि एक स्ट्रिंग w k-दोहराव वाली स्ट्रिंग है यदि w को k बार जोड़ने पर वह अनुक्रम का सबस्ट्रिंग होता है। w का अधिकतम k-दोहराव मान वह उच्चतम मान k होगा जहां w अनुक्रम में k-दोहराव वाला है। और यदि w दिए गए अनुक्रम का सबस्ट्रिंग नहीं है, तो w का अधिकतम k-दोहराव मान 0 है। इसलिए यदि हमारे पास s और w है तो हमें अनुक्रम में w का अधिकतम k-दोहराव मान ढूंढना है।

इसलिए, यदि इनपुट है: s = "papaya", w = "pa", तो आउटपुट 2 होगा क्योंकि w = "pa" "papaya" में दो बार मौजूद है।

हल करने के चरण

  • Count := s में मौजूद w की संख्या
  • यदि Count == 0, तो 0 वापस करें
  • i को Count से 0 तक, 1 से घटाते हुए:
    • यदि w का i बार दोहराव s में मौजूद है, तो i वापस करें

उदाहरण (Python)

def solve(s, w):
    Count = s.count(w)
    if Count == 0:
        return 0
    for i in range(Count, 0, -1):
        if w * i in s:
            return i

s = "papaya"
w = "pa"
print(solve(s, w))

इनपुट

"papaya", "pa"

आउटपुट

2
  1. - पायथन में दिए गए टपल से हैश खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक टपल है। इसमें कुछ संख्याएं मौजूद हैं। हमें hash() फंक्शन का उपयोग करके इस टपल का हैश मान ढूंढना है। यह एक बिल्ट-इन फंक्शन है। hash() फंक्शन int, float, string, tuples जैसे कुछ डेटा प्रकारों पर काम कर सकता है, लेकिन सूचियों जैसे कुछ प्रकार हैशेबल नहीं हैं। चूंकि सूचियां परिवर्त

  1. - पायथन में अंकगणितीय अनुक्रम से हटाए गए पद को ढूंढना

    मान लीजिए हमारे पास nums नामक एक ऐरे है जिसमें n-1 अंकगणितीय अनुक्रम पद हैं। nums के पहले या अंतिम तत्व को छोड़कर एक तत्व पहले हटा दिया गया था। हमें हटाई गई संख्या ढूंढनी है। उदाहरण के लिए, यदि इनपुट है nums = [5, 7, 11, 13], तो आउटपुट होगा 9 क्योंकि, आइटम फॉर्मूला 2i+5 का पालन करते हैं, तो i = 2

  1. Python में इमारतों की अधिकतम ऊंचाई ज्ञात करें Python में इमारतों की अधिकतम ऊंचाई ज्ञात करें

    n इमारतें एक पंक्ति में (1 से n लेबल)। प्रतिबंध: restrictions[i] = (id, max_height)। नियम: ऊंचाई ≥ 0, पहली इमारत की ऊंचाई = 0, आसन्न इमारतों में ऊंचाई अंतर ≤ 1। अधिकतम संभव ऊंचाई खोजें। एल्गोरिदम: दो पास + शिखर गणना प्रतिबंधों को id द्वारा सॉर्ट करें फॉरवर्ड पास: बाएं से दाएं, प्रत्येक प्रतिबंध को