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

पायथन में बड़े समूहों की स्थितियां


मान लीजिए S लोअरकेस अक्षरों की एक स्ट्रिंग है, ये अक्षर समान वर्णों के लगातार समूह बनाते हैं। उदाहरण के लिए, "abbxxxxzyy" स्ट्रिंग में समूह "a", "bb", "xxxx", "z" और "yy" हैं। एक समूह बड़ा समूह होगा जब इसमें 3 या अधिक वर्ण हों। हमें हर बड़े समूह की प्रारंभिक और अंतिम स्थितियां चाहिए।

उदाहरण के लिए, यदि इनपुट "abcdddeeeeaabbbcd" है, तो आउटपुट [[3,5],[6,9],[12,14]] होगा।

हल करने के चरण

  • ans := एक नई सूची
  • csum := 0
  • लगातार अक्षरों के समूह बनाने के लिए प्रत्येक a, b के लिए:
    • grp := समूहीकृत आइटम की सूची
    • यदि grp का आकार >= 3, तो:
      • (csum, csum + grp का आकार - 1) वाली सूची को ans में डालें
    • csum := csum + grp का आकार
  • ans वापस करें

उदाहरण

from itertools import groupby
class Solution:
    def largeGroupPositions(self, S):
        ans = []
        csum = 0
        for a, b in groupby(S):
            grp = list(b)
            if len(grp) >= 3:
                ans.append([csum, csum + len(grp) - 1])
            csum += len(grp)
        return ans

ob = Solution()
print(ob.largeGroupPositions("abcdddeeeeaabbbcd"))

इनपुट

"abcdddeeeeaabbbcd"

आउटपुट

[[3, 5], [6, 9], [12, 14]]
  1. - पायथन में रेगुलर एक्सप्रेशन में groups() मेथड क्या है?

    re.groups() मेथड यह मेथड मैच के सभी सबग्रुप्स को 1 से लेकर पैटर्न में जितने ग्रुप हैं, तक समाहित करने वाला एक टुपल वापस करता है। डिफ़ॉल्ट आर्गुमेंट उन ग्रुप्स के लिए उपयोग किया जाता है जो मैच में भाग नहीं लेते; यह डिफ़ॉल्ट रूप से None होता है। बाद के संस्करणों (1.5.1 से), ऐसे मामलों में एक सिंगलटन ट

  1. - पायथन का उपयोग करके फ़ाइल का मालिक कैसे बदलें?

    आप pwd, grp और os मॉड्यूल का उपयोग करके फ़ाइल या डायरेक्टरी के मालिक को बदल सकते हैं। pwd मॉड्यूल का उपयोग यूज़र नेम से uid प्राप्त करने के लिए किया जाता है, grp का उपयोग ग्रुप नेम स्ट्रिंग से gid प्राप्त करने के लिए, और os का उपयोग मालिक बदलने के लिए: उदाहरण import pwd import grp import os uid = p

  1. - पायथन का उपयोग करके डायरेक्टरी का मालिक कैसे बदलें?

    आप pwd, grp और os मॉड्यूल का उपयोग करके फ़ाइल या डायरेक्टरी के मालिक को बदल सकते हैं। pwd मॉड्यूल का उपयोग यूज़र नेम से uid प्राप्त करने के लिए किया जाता है, grp का उपयोग ग्रुप नेम स्ट्रिंग से gid प्राप्त करने के लिए, और os का उपयोग मालिक बदलने के लिए: उदाहरण import pwd import grp import os uid = p