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

पायथन में समान पहले अक्षर वाले शब्दों के सबसे लंबे सन्निहित सबलिस्ट की लंबाई ढूंढना


मान लीजिए हमारे पास लोअरकेस अल्फाबेट स्ट्रिंग्स की एक लिस्ट words है। हमें सबसे लंबे सन्निहित सबलिस्ट की लंबाई ढूंढनी है जहां प्रत्येक शब्द का पहला अक्षर समान हो।

उदाहरण के लिए, यदि इनपुट है words = ["she", "sells", "seashells", "on", "the", "sea", "shore"], तो आउटपुट होगा 3, सबसे लंबा सन्निहित सबलिस्ट है ["she", "sells", "seashells"]। प्रत्येक शब्द का पहला अक्षर 's' है।

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

यह एक सरल लीनियर स्कैन समस्या है। हम वर्तमान स्ट्रीक लंबाई और अधिकतम स्ट्रीक लंबाई ट्रैक करते हैं।

  • cnt = 1, maxcnt = 0, prev_char = "" आरंभ करें।
  • प्रत्येक शब्द के लिए:
    • यदि prev_char खाली है, तो इसे शब्द के पहले अक्षर पर सेट करें।
    • अन्यथा यदि prev_char वर्तमान शब्द के पहले अक्षर के समान है, तो cnt बढ़ाएं।
    • अन्यथा, prev_char रीसेट करें और cnt = 1।
    • maxcnt = max(maxcnt, cnt) अपडेट करें।
  • maxcnt लौटाएं।

पायथन कार्यान्वयन

def solve(words):
    cnt = 1
    maxcnt = 0
    prev_char = ""
    for word in words:
        if prev_char == "":
            prev_char = word[0]
        elif prev_char == word[0]:
            cnt += 1
        else:
            prev_char = word[0]
            cnt = 1
        maxcnt = max(maxcnt, cnt)
    return maxcnt

words = ["she", "sells", "seashells", "on", "the", "sea", "shore"]
print(solve(words))

इनपुट

["she", "sells", "seashells", "on", "the", "sea", "shore"]

आउटपुट

3

  1. - पायथन में सबसे लंबी विशिष्ट सबलिस्ट की लंबाई खोजने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, और हमें सबसे लंबी सन्निकट सबलिस्ट की लंबाई ढूंढनी है जहां सभी तत्व अद्वितीय हों। उदाहरण के लिए, यदि इनपुट nums = [6, 2, 4, 6, 3, 4, 5, 2] है, तो आउटपुट 5 होगा, क्योंकि अद्वितीय तत्वों की सबसे लंबी सूची [6, 3, 4, 5, 2] है। इसे हल करने के लिए हम नि

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

    मान लीजिए हमारे पास एक सरणी A है। हमें वह सन्निकट सबलिस्ट ढूंढनी है जिसका अधिकतम योग हो, और उसका योग भी लौटाना है। उदाहरण के लिए, यदि A = [-2,1,-3,4,-1,2,1,-5,4], तो योग 6 होगा। और सबअरे [4, -1, 2, 1] होगा। इसे हल करने के लिए हम डायनामिक प्रोग्रामिंग दृष्टिकोण का उपयोग करेंगे। dp सरणी A के आकार की

  1. - पायथन में सख्ती से बढ़ते सन्निकट सबलिस्ट की लंबाई खोजने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, हमें एक या शून्य तत्वों को हटाकर प्राप्त की जा सकने वाली सख्ती से बढ़ती सन्निकट सबलिस्ट की अधिकतम लंबाई ढूंढनी है। उदाहरण के लिए, यदि इनपुट nums = [30, 11, 12, 13, 14, 15, 18, 17, 32] है, तो आउटपुट 7 होगा, क्योंकि जब हम सूची में 18 को हटाते हैं