564。找出最近的回文
難度:難
主題:數學、字串
給定一個表示整數的字串 n,傳回_最接近的整數(不包括其本身),它是一個回文-。如果存在平局,則返回較小的。
最接近的定義為兩個整數之間的絕對差最小化。
範例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中文網其他相關文章!