欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++動(dòng)態(tài)規(guī)劃之最長(zhǎng)公子序列實(shí)例

 更新時(shí)間:2015年04月20日 12:27:22   作者:司青  
這篇文章主要介紹了C++動(dòng)態(tài)規(guī)劃之最長(zhǎng)公子序列,實(shí)例分析了C++求最長(zhǎng)公子序列的相關(guān)技巧,是C++字符串操作的一個(gè)典型應(yīng)用,需要的朋友可以參考下

本文實(shí)例講述了C++動(dòng)態(tài)規(guī)劃之最長(zhǎng)公子序列解決方法。分享給大家供大家參考。具體分析如下:

問(wèn)題描述:

求出兩個(gè)字符串中的最長(zhǎng)公子序列的長(zhǎng)度。

輸入:

csblog
belong

輸出:

max length = 4

實(shí)現(xiàn)代碼:

#include <stdio.h>
#include <string.h>
int arr[200][200];
/* 表示str1的前i位和str2的前j位的最長(zhǎng)公子序列的長(zhǎng)度 */
int main()
{
 char str1[100],str2[100];
 /* 輸入數(shù)據(jù) */
 scanf("%s%s",str1,str2);
 int len1 = strlen(str1);
 int len2 = strlen(str2);
 /* 初始化數(shù)組 */
 int i,j;
 for(i = 0 ; i <= len1 ; ++i)
 {
  for(j = 0 ; j <= len2 ; ++j)
   arr[i][j] = 0;
 }
 /* 計(jì)算 */
 for(i = 1 ; i <= len1 ; ++i)
 {
  for(j = 1 ; j <= len2 ; ++j)
  {
   /* 字符相同,則最長(zhǎng)公子序列長(zhǎng)度加1 */
   if(str1[i - 1] == str2[j - 1])
   {
    arr[i][j] = arr[i - 1][j - 1] + 1;
   }
   else
   /* 當(dāng)前字符不相同,則取上次選擇的最大值做為當(dāng)前結(jié)果 */
   {
    arr[i][j]=arr[i][j-1]>arr[i-1][j]?arr[i][j-1]:arr[i-1][j];
   }
  }
 }
 /* 輸出結(jié)果 */
 printf("max length = %d\n",arr[len1][len2]);
 return 0;
}

希望本文所述對(duì)大家的C++程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • QT中線程池QThreadPool類概念和使用方法詳解

    QT中線程池QThreadPool類概念和使用方法詳解

    這篇文章主要為大家介紹了QT中線程池QThreadPool類概念和使用方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • C語(yǔ)言靜態(tài)鏈表和動(dòng)態(tài)鏈表

    C語(yǔ)言靜態(tài)鏈表和動(dòng)態(tài)鏈表

    靜態(tài)鏈表和動(dòng)態(tài)鏈表是線性表鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的兩種不同的表示方式。靜態(tài)鏈表的初始長(zhǎng)度一般是固定的,在做插入和刪除操作時(shí)不需要移動(dòng)元素,僅需修改指針。動(dòng)態(tài)鏈表是相對(duì)于靜態(tài)鏈表而言的,一般地,在描述線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)時(shí)如果沒(méi)有特別說(shuō)明即默認(rèn)描述的是動(dòng)態(tài)鏈表。
    2016-05-05
  • C++二叉搜索樹(shù)模擬實(shí)現(xiàn)示例

    C++二叉搜索樹(shù)模擬實(shí)現(xiàn)示例

    本文主要介紹了C++二叉搜索樹(shù)模擬實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • C++利用鏈表實(shí)現(xiàn)圖書信息管理系統(tǒng)

    C++利用鏈表實(shí)現(xiàn)圖書信息管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++利用鏈表實(shí)現(xiàn)圖書信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • VC運(yùn)用OPENGL加載BMP紋理圖的實(shí)現(xiàn)方法匯總

    VC運(yùn)用OPENGL加載BMP紋理圖的實(shí)現(xiàn)方法匯總

    這篇文章主要介紹了VC運(yùn)用OPENGL加載BMP紋理圖的實(shí)現(xiàn)方法,對(duì)于更好的了解OpenGL很有幫助,需要的朋友可以參考下
    2014-07-07
  • 如何在C語(yǔ)言中提取Shellcode并執(zhí)行

    如何在C語(yǔ)言中提取Shellcode并執(zhí)行

    Shellcode是一種獨(dú)立于應(yīng)用程序的機(jī)器代碼,通常用于實(shí)現(xiàn)特定任務(wù),如執(zhí)行遠(yuǎn)程命令、注入惡意軟件或利用系統(tǒng)漏洞,本文將深入探討如何在C語(yǔ)言中提取Shellcode,并通過(guò)XOR加密技術(shù)增加其混淆程度,文中通過(guò)代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • c語(yǔ)言大小端(數(shù)據(jù)在內(nèi)存中的存儲(chǔ))

    c語(yǔ)言大小端(數(shù)據(jù)在內(nèi)存中的存儲(chǔ))

    大小端是內(nèi)存存儲(chǔ)字節(jié)的兩種方式,一個(gè)是大端存儲(chǔ),一個(gè)是小端存儲(chǔ),本文主要介紹了c語(yǔ)言大小端,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • 用c語(yǔ)言實(shí)現(xiàn)一個(gè)電話薄(附完整代碼)

    用c語(yǔ)言實(shí)現(xiàn)一個(gè)電話薄(附完整代碼)

    大家好,本篇文章主要講的是用c語(yǔ)言實(shí)現(xiàn)一個(gè)電話?。ǜ酵暾a),感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • c++ 如何實(shí)現(xiàn)線程注入

    c++ 如何實(shí)現(xiàn)線程注入

    本文主要介紹了各種API遠(yuǎn)程線程注入的方法,分別是 遠(yuǎn)程線程注入,普通消息鉤子注入,全局消息鉤子注入,APC應(yīng)用層異步注入,ZwCreateThreadEx強(qiáng)力注入,純匯編實(shí)現(xiàn)的線程注入等
    2021-06-06
  • new和malloc的區(qū)別深入解析

    new和malloc的區(qū)別深入解析

    以下是分別是對(duì)new和malloc的區(qū)別進(jìn)行了詳細(xì)的分析及介紹,需要的朋友可以過(guò)來(lái)參考下
    2013-09-09

最新評(píng)論