ホームページ  >  記事  >  バックエンド開発  >  指定された部分文字列を置き換えることにより、文字列を有効な最小長の電子メール アドレスに短縮します。

指定された部分文字列を置き換えることにより、文字列を有効な最小長の電子メール アドレスに短縮します。

PHPz
PHPz転載
2023-09-06 11:01:06534ブラウズ

指定された部分文字列を置き換えることにより、文字列を有効な最小長の電子メール アドレスに短縮します。

この質問では、「ドット」と「アット」という単語を含む電子メール文字列が与えられています。それらを「.」と「@」文字に置き換える必要があります。

注 - 有効な電子メール アドレスには、「@」文字を 1 つだけ含める必要があります。プレフィックスの前には「@」文字が含まれ、その後にドメイン名が含まれている必要があります。さらに、有効な電子メールには複数の「.」文字を含めることができます。さらに、「@」および「.」文字を電子メール アドレスの先頭または末尾に含めることはできません。

問題文 電子メール アドレスを含む文字列 str を指定すると、文字列の長さは N になります。文字列内の「at」を「@」文字に、「ドット」を「.」文字に置き換えて、文字列を短くする必要があります。

###例###

入力

-str="contactattutorialspointdotcom"

出力

– contact@tutorialspoint.com

説明

- 「アット」とドットをそれぞれ「@」と「.」文字に置き換えました。

入力

– str = “atatgmaildotcom”

出力

– at@gmail.com

– 電子メールには「@」を 1 つだけ含めることができ、先頭に付けることはできないため、出力は上記のようになります 方法 1

このメソッドでは、電子メールに現在の文字の部分文字列「アット」または「ドット」が含まれているかどうかを確認します。 「@」と「.」文字に置き換えることができます。

###アルゴリズム###

変数 'len' を定義し、変数の長さを格納します。

  • 変数「minStr」を定義し、元の文字列の最初の文字に初期化します

  • 「I」変数を定義し、ループで使用するために 1 に初期化します。また、「isAtIncluded」変数を定義して false に初期化し、文字列に「@」文字が一度含まれているかどうかを追跡します。

  • ループを使用して文字列を反復し始めます。

  • i

  • それ以外の場合、I

  • それ以外の場合は、現在の文字を minStr 文字列に追加します。

  • 最小の文字列値を返します。

  • ###例### リーリー ###出力### リーリー

    文字列を反復処理するため、時間計算量 - O(N)。

  • 圧縮文字列を保存するため、スペースの複雑さ - O(N)。

上記のコードでは、常に最初の文字を minstr 文字列に追加します。したがって、先頭に「@」または「.」文字が追加されることはありません。さらに、ユーザーは replace() メソッドを使用して、「ドット」を「.」に、「アット」を「@」文字に置き換えることができますが、プログラマは、文字列に 1 つの「@」文字のみが追加されることを確認する必要があります。

以上が指定された部分文字列を置き換えることにより、文字列を有効な最小長の電子メール アドレスに短縮します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。