"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > برنامج PHP للتسلسل الأطول المتناوب

برنامج PHP للتسلسل الأطول المتناوب

تم النشر بتاريخ 2024-08-29
تصفح:919

PHP Program for Longest Palindromic Subsequence

ما هو المتناظر؟

المتناظر هو كلمة أو عبارة أو رقم أو سلسلة من الأحرف التي تُقرأ بنفس الطريقة السابقة. بمعنى آخر، يظل دون تغيير عندما يتم عكس أحرفه.

مثال

  • "المستوى" هو متناظر لأنه يقرأ نفس الشيء من اليسار إلى اليمين ومن اليمين إلى اليسار.

  • "عربة السباق" عبارة عن متناظرة.

  • "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"، هي طول أطول سلسلة فرعية متناوبة هي 7. وهذا يعني أنه داخل سلسلة الإدخال "BBABBCBCAB"، يوجد سلسلة فرعية متناوبة بطول 7. أي. بابكباب. "BBBBB" و"BBCBB" هما أيضًا متتابعات فرعية متناوبة للتسلسل المحدد، ولكنها ليست الأطول. نجح الكود في حساب هذا الطول وإرجاعه باستخدام البرمجة الديناميكية.

خاتمة

في الختام، يطبق كود PHP المقدم حل برمجة ديناميكي للعثور على طول أطول تسلسل لاحق متناوب في سلسلة معينة. عند تنفيذها باستخدام سلسلة الإدخال "BBABBCBCAB"، فإنها تحدد بشكل صحيح أن طول أطول تسلسل فرعي متناوب هو 7(BABCBAB). ومع ذلك، لا يوفر الكود بشكل صريح التسلسل الفرعي نفسه. وهو يعمل عن طريق إنشاء جدول أطوال لسلاسل فرعية مختلفة، مع الأخذ في الاعتبار الحالات التي تتطابق فيها الأحرف أو لا تتطابق. تقوم الخوارزمية بحساب الطول بكفاءة باستخدام نهج تصاعدي، مما يؤدي إلى الناتج المطلوب.

بيان الافراج تم نشر هذه المقالة على: https://www.tutorialspoint.com/php-program-for-longest-palindromic-subsequence إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3