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

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

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

इसलिए, यदि इनपुट "abcdddeeeeaabbbcd" जैसा है, तो आउटपुट [[3,5],[6,9],[12,14]]

होगा।

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

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

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

उदाहरण

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. पायथन में नियमित अभिव्यक्तियों में समूह () विधि क्या है?

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

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

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

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

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