」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 最長回文子序列的 PHP 程式

最長回文子序列的 PHP 程式

發佈於2024-08-29
瀏覽:163

PHP Program for Longest Palindromic Subsequence

什麼是回文?

回文是一個單字、片語、數字或字元序列,向後讀與向前讀相同。換句話說,當其字元顛倒時,它保持不變。

例子

  • 「level」是回文,因為從左到右和從右到左讀起來都是一樣的。

  • 「racecar」是回文。

  • 「12321」是一個回文。

  • 「女士」是一個回文。

最長回文子序列的PHP程序

設 X[0..n-1] 為長度為 n 的輸入序列,L(0, n-1) 為 X[0..n-1] 的最長回文子序列的長度。 如果 X 的最後一個和第一個字元相同,則 L(0, n-1) = L(1, n-2) 2。 否則 L(0, n-1) = MAX (L(1, n-1), L(0, n-2)).

動態規劃解決方案

 $y)? $x : $y; }

// Returns the length of the
// longest palindromic
// subsequence in seq
function lps($str)
{
$n = strlen($str);
$i; $j; $cl;

// Create a table to store
// results of subproblems
$L[][] = array(array());

// Strings of length 1 are
// palindrome of length 1
for ($i = 0; $i 

輸出

The length of the longest palindromic subsequence is 7

當使用輸入字串「BBABCBCAB」執行時,給定程式碼的輸出是 The length of the length of the permanent palindromic subsequence is 7 。這表示在輸入字串「BBABCBCAB」中,存在長度為 7 的回文子序列IE。 BABCBAB。 BBBBB」和「BBCBB」也是給定序列的回文子序列,但不是最長的。程式碼使用動態規劃成功計算並傳回該長度。

結論

總之,所提供的 PHP 程式碼實作了動態程式解決方案,以查找給定字串中最長回文子序列的長度。當使用輸入字串「BBABCBCAB」執行時,它正確地確定最長回文子序列的長度為 7(BABCBAB) 但是,程式碼沒有明確提供子序列本身。它的工作原理是為不同子字串建立一個長度表,並考慮字元匹配或不匹配的情況。該演算法使用自下而上的方法有效地計算長度,從而產生所需的輸出。

版本聲明 本文轉載於:https://www.tutorialspoint.com/php-program-for-longest-palindromic-subsequence如有侵犯,請聯絡[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3