Python
 Computer >> コンピューター >  >> プログラミング >> Python

文字列でプログラミングの質問を見つけるPython


小文字の文字列sがあるとすると、s内の文字のサブシーケンスを次のように選択できるかどうかを確認する必要があります。-1。文字の2つの連続するインデックスの違いは同じです。2。文字は文字列「programmingquestion」を形成します

したがって、入力が「pzrzozgzrzazmzmziznzgzqzuzezsztzizozn」のような場合、出力はTrueになります

これを解決するには、次の手順に従います-

  • p:=pが存在するインデックスの配列
  • r:=rが存在するインデックスの配列
  • pの各jについて、
    • rのkごとに、
      • k> jの場合、
        • インデックスjからsのサイズまでのsのサブストリングに「programmingquestion」がある場合、k-j文字をスキップして、
          • Trueを返す
  • Falseを返す

理解を深めるために、次の実装を見てみましょう-

class Solution:
   def solve(self, s):
      p = [i for i, c in enumerate(s) if c == "p"]
      r = [i for i, c in enumerate(s) if c == "r"]
      for j in p:
         for k in r:
            if k > j:
               if "programmingquestion" in s[j:len(s):k-j]:
                  return True
      return False
ob = Solution()
s = "pzrzozgzrzazmzmziznzgzqzuzezsztzizozn"
print(ob.solve(s))

入力

"pzrzozgzrzazmzmziznzgzqzuzezsztzizozn"

出力

True

  1. Pythonでの引用

    Pythonは、同じタイプの引用符が文字列を開始および終了する限り、文字列リテラルを示すために一重引用符()、二重引用符( )、および三重引用符(または)を受け入れます。 三重引用符は、文字列を複数行にまたがるのに使用されます。たとえば、次のすべてが合法です- word = 'word' sentence = "This is a sentence." paragraph = """This is a paragraph. It is made up of multiple lines and sentences."

  2. Pythonのcasefold()文字列

    この関数は、単語の文字を小文字に変換するのに役立ちます。 2つの文字列に適用すると、文字の大文字小文字の種類に関係なく、それらの値と一致する可能性があります。 casefold()の適用 以下の例では、casefold()関数を文字列に適用すると、結果はすべて小文字で出力されます。 例 string = "BestTutorials" # print lowercase string print(" lowercase string: ", string.casefold()) 出力 上記のコードを実行すると、次の結果が得られます- Lowerca