编辑代码

int find(string& s1, string& s2){
	int m = s1.length(), n = s2.length();
	vector<vector<int>> dp(m+1, vector<int>(n+1));
	int ans = 0;
	for(int i=0;i<=m;i++){
		dp[i][0] = 0;
	}
	for(int i=0;i<=n;i++){
		dp[0][i] = 0;
	}
	for(int i=1;i<=m;i++){
		for(int j=1;j<=n;j++){
			if(s1[i-1] != s2[j-1]){
				dp[i][j] = 0;
			}
			else{
				dp[i][j] = dp[i-1][j-1] + 1;
				ans = max(ans, dp[i][j]);
			}
		}
	}
	return ans;
}