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

PythonでstrStr()を実装する


2つの文字列strとsub_strがあるとします。 strでsub_strの最初の出現を見つける必要があります。したがって、文字列strが「helloworld」で、サブ文字列が「lo」の場合、結果は3になります。

これは、Cのstrstr()関数を使用して実行できます。Cのstrstr()に類似した別の関数を設計する必要があります。

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

  • i:=0、j:=0、m:=sub_strの長さおよびn:=strの長さ
  • m =0の場合、0を返します
  • i
  • str [i] =sub_str [j]の場合、
    • temp:=j
    • j
    • iとjを1増やします
  • j =mの場合、tempを返します
  • i:=temp + 1
  • j:=0
  • それ以外の場合はiを1増やします
  • 戻り値-1
  • 理解を深めるために実装を見てみましょう

    例(Python)

    class Solution(object):
       def strStr(self, haystack, needle):
          """
          :type haystack: str
          :type needle: str
          :rtype: int
          """
          i = 0
          j = 0
          m = len(needle)
          n = len(haystack)
          if m ==0:
             return 0
          while i<n and n-i+1>=m:
             if haystack[i] == needle[j]:
                temp = i
                while j<m and i<n and needle[j]==haystack[i]:
                   i+=1
                   j+=1
                if j == m:
                   return temp
                i= temp+1
                j = 0
             else:
                i+=1
          return -1
    haystack = "helloworld"
    needle = "lo"
    ob1 = Solution()
    print(ob1.strStr(haystack, needle))

    入力

    haystack = "helloworld"
    needle = "lo"

    出力

    3

    1. Pythonのissuperset()

      この記事では、Pythonでのissuperset()と、さまざまな分野でのその実装について学習します。 このメソッドは、セットBのすべての要素に引数として渡されるすべての要素セットAが含まれている場合はブール値Trueを返し、Aのすべての要素がBに存在しない場合はfalseを返します。 これは、BがAのスーパーセットである場合、それを意味します returns true; else False 例 いくつかの例を見てみましょう A = {'t','u','t','o','r','i',

    2. PythonでIsNumber()関数を実装する

      この記事では、 isNumber()の実装について説明します。 Python3.xを使用するメソッド。またはそれ以前。 このメソッドは、入力として文字列型を受け取り、入力された文字列が数値であるかどうかに応じてブール値のTrueまたはFalseを返します。これを行うには、tryおよびexceptステートメントを使用して例外処理を利用します。 例 いくつかの例を見てみましょう- # Implementation of isNumber() function def isNumber(s):    if(s[0] =='-'):   &nbs