この問題では、配列内の最後の回文文字列を見つける必要があります。先頭から読んでも最後から読んでも、読み取った文字列が同じである場合、その文字列は回文であると言われます。開始文字と終了文字を比較して、特定の文字列が回文であるかどうかを確認できます。回文文字列を見つけるもう 1 つの方法は、文字列を反転して元の文字列と比較することです。
問題文 - さまざまな文字列を含む長さ N の配列が与えられています。指定された配列内の最後の回文文字列を見つける必要があります。
入力– arr[] = {"werwr", "rwe", "nayan", "tut", "rte"};
出力 – 'tut'
説明– 指定された配列の最後の回文文字列は「tut」です。
入力– arr[] = {"werwr", "rwe", "nayan", "acd", "sdr"};
出力-「ナヤン」
説明 – 「nayan」は、指定された配列内の最後の回文文字列です。
入力– arr[] = {"werwr", "rwe", "jh", "er", "rte"};
######出力###-""###説明 – 配列には回文文字列が含まれていないため、空の文字列が出力されます。
方法1 このメソッドでは、配列を最初から反復処理し、最後の回文文字列を変数に保存します。さらに、文字列の開始文字と終了文字を比較して、文字列が回文であるかどうかを確認します。
###アルゴリズム###変数 'lastPal' を定義して、最後の回文文字列を保存します。
###例### リーリー ###出力### リーリー
空間複雑度 - O(1)。定数空間を使用しているためです。
最後の配列から始めて配列を走査します。
isPalindrome() 関数で、「str」文字列を「temp」変数に格納します。
###例### リーリー ###出力### リーリー
時間計算量 - O(N*K)、配列を反復処理して文字列を反転するため。ここでは、指定された配列内の最後の回文文字列を検索する 2 つの方法を学びました。両方のメソッドの時間と空間の複雑さはほぼ同じですが、2 番目のコードは最初のコードよりも読みやすく、優れています。
以上が指定された配列内の最後の回文文字列を検索しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。