文字列を 3 つの部分文字列に分割できるかどうかを確認します。1 つの部分文字列は他の 2 つの部分文字列の部分文字列です。
この問題では、3 番目の部分文字列が最初の 2 つの部分文字列の部分文字列になるように、指定された文字列を分割する必要があります。
解決策を考えてみましょう。最初の 2 つの文字列に 3 番目の文字列のすべての文字が含まれている場合にのみ、3 番目の文字列を最初の 2 つの文字列の部分文字列にすることができます。したがって、指定された文字列内で頻度が 3 を超える文字を少なくとも 1 つ見つける必要があり、その 1 文字の 3 番目の部分文字列を取得できます。
問題文 - N 個の小文字のアルファベットを含む文字列 str が与えられています。部分文字列 c が a と b の部分文字列になるように、文字列を 3 つの部分文字列 a、b、c に分割できるかどうかを確認する必要があります。 3 つの部分文字列が見つかるかどうかに応じて、「はい」または「いいえ」を出力します。
###例### リーリー リーリーイラスト
ここで、文字列を「tu」、「torialsPoin」、「t」に分割できます。したがって、3 番目の文字列は最初の 2 つの文字列の部分文字列になります。
リーリー リーリーイラスト
どの文字の頻度も 3 を超えないため、指定された条件に基づいて文字列を 3 つの部分文字列に分割することはできません。
リーリー リーリーイラスト
指定された条件によると、3 つの部分文字列は 'h'、'h'、および 'hhahah' になります。 方法1
このメソッドでは、配列を使用して各文字の頻度を保存します。その後、頻度が 3 以上の文字を確認します。
###アルゴリズム###ステップ 1
- - 長さ 26 の「freq」配列を定義します。
-
-
-
-
-
###例### リーリー ###出力### リーリー 時間計算量 - O(N)、文字列を反復処理する場合。
定長配列を使用するため、空間計算量 - O(1)。
方法 2
このメソッドでは、まず文字列を文字配列に変換します。その後、 count() メソッドを使用して、配列内の特定の文字の頻度をカウントします。
###アルゴリズム###ステップ 1
- サイズ「len 1」の配列を作成します。「len」は文字列の長さです。
ステップ 2
- - strcpy() メソッドを使用して、文字列を char 配列にコピーします。
-
-
-
count() メソッドは、最初の引数として開始位置への参照、2 番目の引数として終了位置への参照、そして 3 番目の引数として文字を受け取ります。
ここでは、文字の ASCII 値をパラメータとして渡す必要があり、I ‘a’ を使用して値を取得します。 ステップ 5 - count() メソッドが 3 以上を返す場合は true を返します。
-
###例### リーリー ###出力### リーリー 時間計算量 - count() メソッドが char 配列を反復して文字数をカウントするため、O(N)。また、strcpy() メソッドには O(N) 時間がかかります。
文字列を文字配列に格納するため、空間複雑度 - O(N)。 -
###結論は###
文字列を 3 つの部分文字列に分割し、1 つの部分文字列が他の 2 つの部分文字列の部分文字列になるようにする 2 つの方法を学習しました。 2 番目の方法のコードは読みやすく、初心者にも優しいですが、時間とスペースがより高価になります。
ステップ 6
- ループが終了すると false を返します。以上が文字列を 3 つの部分文字列に分割できるかどうかを確認します。1 つの部分文字列は他の 2 つの部分文字列の部分文字列です。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









実行されるプログラムをプロセスと呼びます。プロセスは、現在のオペレーティング システム上で実行されているアプリケーション、またはオペレーティング システムに関連するアプリケーションです。アプリケーションがオペレーティング システムに関連付けられている場合、アプリケーションは最初にそれ自体を実行するプロセスを作成します。他のアプリケーションは実行のためにオペレーティング システム サービスに依存します。ほとんどのアプリケーションは、オペレーティング システム サービスと、オペレーティング システム、ソフトウェア、およびハードウェアを維持するバックグラウンド アプリケーションです。 Python では、アプリケーションが開いているかどうかを確認するさまざまな方法があります。一つずつ詳しく見ていきましょう。 psutil.process_iter() 関数の使用 psutil は、実行中のプロセスとシステム使用率に関する情報を取得するインターフェイスをユーザーに提供する Python のモジュールです。
![Teams でスペルチェックが機能しない [修正済み]](https://img.php.cn/upload/article/000/887/227/170968741326618.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Teams でスペルチェックが機能しなくなる場合があることに気づき始めました。スペル チェックは効果的なコミュニケーションに不可欠なツールであり、これに対する攻撃はワークフローに重大な混乱を引き起こす可能性があります。この記事では、スペル チェックが期待どおりに機能しない一般的な理由と、スペル チェックを以前の状態に戻す方法について説明します。そのため、Teams でスペル チェックが機能しない場合は、この記事で説明されている解決策に従ってください。 Microsoft のスペルチェックが機能しないのはなぜですか? Microsoft のスペル チェックが正しく機能しない理由はいくつか考えられます。これらの理由には、互換性のない言語設定、スペルチェック機能の無効化、MSTeam または MSOffice のインストールの破損などが含まれます。また、古い MSTeam と MSOf

反復可能オブジェクトは、ループまたは反復可能関数を使用してすべての要素を反復できるオブジェクトです。リスト、文字列、辞書、タプルなどはすべて反復可能オブジェクトと呼ばれます。 Python 言語では、オブジェクトが反復可能かどうかを確認するさまざまな方法があります。一つずつ見ていきましょう。ループの使用 Python には 2 つのループ手法があります。1 つは「for」ループを使用し、もう 1 つは「while」ループを使用します。これら 2 つのループのいずれかを使用して、特定のオブジェクトが反復可能かどうかを確認できます。例 この例では、for ループを使用してオブジェクトを反復し、反復されているかどうかを確認します。以下はコードです。 l=["リンゴ",22,"オレンジ

MySQL で LOCATE 関数を使用して文字列内の部分文字列の位置を見つける方法 MySQL には、文字列の処理に使用できる関数が多数あります。中でも LOCATE 関数は、文字列内の部分文字列の位置を見つけるのに使用できる非常に便利な関数です。 LOCATE 関数の構文は次のとおりです。 LOCATE(substring,string,[position]) ここで、substring は検索する部分文字列、string は検索する部分文字列です。

2 つの文字列 str_1 と str_2 を指定します。目的は、再帰的プロシージャを使用して、文字列 str1 内の部分文字列 str2 の出現数をカウントすることです。再帰関数は、その定義内で自分自身を呼び出す関数です。 str1 が「Iknowthatyouknowthatiknow」、str2 が「know」の場合、出現回数は -3 になります。例を通して理解しましょう。たとえば、入力 str1="TPisTPareTPamTP"、str2="TP"; 出力 Countofoccurrencesofasubstringrecursi

Windows 11 で SSD の健康状態を確認するにはどうすればよいですか? SSD は読み取り、書き込み、アクセス速度が速いため、急速に HDD に取って代わりつつありますが、たとえ信頼性が高くても、Windows 11 で SSD の状態をチェックする必要があります。操作方法は?このチュートリアルでは、エディターがその方法を共有します。方法 1: WMIC1 を使用し、Win + R キーの組み合わせを使用して「wmic」と入力し、[OK] を押すかクリックします。 Enter2. 次に、次のコマンドを入力または貼り付けて、SSD の健全性ステータスを確認します: diskdrivegetstatus 「ステータス: OK」メッセージが表示された場合、SSD ドライブは正常に動作しています。

この関数は strtok() 関数に似ています。唯一の主な違いは、リエントラント関数と呼ばれる _r です。リエントラント関数は、実行中に中断できる関数です。このタイプの関数は、実行を再開するために使用できます。したがって、リエントラント関数はスレッドセーフです。つまり、損傷を引き起こすことなくスレッドによって安全に中断できます。 strtok_r() 関数には、context と呼ばれる追加のパラメータがあります。このようにして、機能を正しい場所に復元できます。 strtok_r() 関数の構文は次のとおりです。 #include<string.h>char*strtok_r(char*string,constchar*limiter,char**

List インターフェイスの contains() メソッドを使用して、リストにオブジェクトが存在するかどうかを確認できます。 contains() メソッド booleancontains(Objecto) このリストに指定された要素が含まれる場合、true を返します。より正式には、このリストに (o==null?e==null:o.equals(e)) のような要素 e が少なくとも 1 つ含まれる場合にのみ true を返します。パラメータ c - このリスト内の存在がテストされる要素。戻り値 このリストに指定された要素が含まれている場合は true を返します。 ClassCastException をスローします - 指定された要素の型がこのリストと互換性がない場合 (オプション)。 NullP
