###############問題文###
数値とアルファベットを含む文字列 str を指定しました。指定された文字列で使用可能な連続する数字のシーケンスで表されるすべての数値の合計を見つける必要があります。
例例###入力### リーリー ###出力### リーリー ###説明###
1、2、3の合計は6です。
###入力### リーリー ###出力### リーリー ###説明###
ステップ 3
- 現在の文字が数字の場合は、その数値に 10 を掛けて、現在の数値を加算します。ステップ 4
- 現在の文字が数字でない場合は、「number」変数の値を「sum」変数に加算し、「number」変数の値を次のように更新します。ゼロ。###例### リーリー ###出力### リーリー
アプローチ 2
###アルゴリズム###
ステップ 4
-現在の文字が数字の場合、それを「数値」文字列に追加します。ステップ 5 -現在の文字が数字でない場合は、 c_str() メソッドを使用して数値文字列を文字配列に変換し、それを atoi() のパラメーターとして渡します。メソッドを使用して、文字列を数値に変換します。また、数値文字列を「」値で更新します。
atoi() メソッドは、文字列が数値に変換できる場合は数値を返し、そうでない場合は 0 を返します。ステップ 6
- for ループの反復が完了したら、再び atoi() メソッドを使用して文字列を数値に変換し、合計値に加算します。時間計算量 - O(N)
空間複雑度 − O(1)
この方法では、正規表現を使用してすべての数値の一致を検索します。その後、文字列を数値に変換し、それを sum 変数に追加します。 ###アルゴリズム###
ステップ 1 -正規表現パターンを定義します。
ステップ 2 - regex_search() メソッドを使用して、数値文字列の一致を見つけます。
ステップ 3
-一致するものが見つかる限り、while ループを使用して反復を行います。ステップ 4 - while ループで、 stoi() メソッドを使用して文字列を数値に変換し、それを sum 変数に追加します。
時間計算量 - O(N)。正規表現は文字列を反復処理することで一致を見つけます。
空間複雑度 − O(1)
以上が文字列を指定して、その中の連続する数値の合計を求めます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。