最長公共子序列,遞迴簡單程式碼

一名路過的小碼農啊發表於2017-03-08
#include<iostream>
#include<string>
#include<math.h>
using namespace std;
string a1,a2;
int f(string a,string b)
{
	if(a.length()==0||b.length()==0)return 0;
	if(a[0]==b[0])return f(a.substr(1),b.substr(1))+1;//第一個一樣
	else
	{
		int k=max(f(a.substr(1),b),f(a,b.substr(1)));//返回一個長的
		return k;
	 } 
}
int main()
{
	a1="assv";
	a2="asvrf";
	int k=f(a1,a2);
	cout<<k<<endl;
	return 0;
}  
遞迴,邊界,條件

相關文章