564。最も近い回文を見つけます
難易度: 難しい
トピック: 数学、文字列
整数を表す文字列 n が与えられた場合、_最も近い整数 (それ自体は含まない) を返します。これは回文です。同点の場合は、小さい方を返します。
最も近いものは、2 つの整数の間で最小化された絶対差として定義されます。
例 1:
例 2:
制約:
ヒント:
解決策:
潜在的な回文候補を生成し、入力数値に最も近いものを選択する関数の作成に焦点を当てます。
回文候補の特定:
最も近い回文を計算します:
このソリューションを PHP で実装してみましょう: 564。最も近い回文を見つけます
<?php /** * @param String $n * @return String */ function nearestPalindromic($n) { ... ... ... /** * go to https://github.com/mah-shamim/leet-code-in-php/tree/main/algorithms/000564-find-the-closest-palindrome/solution.php */ } function generatePalindrome($firstHalf, $isOddLength) { ... ... ... } // Example usage echo nearestPalindromic("123"); // Output: "121" echo nearestPalindromic("1"); // Output: "0" ?>
<?php /** * @param $firstHalf * @param $isOddLength * @return string */ function generatePalindrome($firstHalf, $isOddLength) { $secondHalf = strrev(substr($firstHalf, 0, $isOddLength ? -1 : $firstHalf)); return $firstHalf . $secondHalf; } ?>
エッジケース:
メインロジック:
このソリューションは、考えられる回文の候補を効率的に絞り込み、少数のオプションのみを考慮して最も近いものを選択するため、総当たりのアプローチよりもはるかに高速になります。
連絡先リンク
このシリーズが役立つと思われた場合は、GitHub で リポジトリ にスターを付けるか、お気に入りのソーシャル ネットワークで投稿を共有することを検討してください。あなたのサポートは私にとって大きな意味を持ちます!
このような役立つコンテンツがさらに必要な場合は、お気軽にフォローしてください:
以上が。最も近い回文を見つけるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。