[LintCode] 最长公共子串

简介: 1 class Solution { 2 public: 3 /** 4 * @param A, B: Two string. 5 * @return: the length of the longest common substring.
 1 class Solution {
 2 public:    
 3     /**
 4      * @param A, B: Two string.
 5      * @return: the length of the longest common substring.
 6      */
 7     int longestCommonSubstring(string &A, string &B) {
 8         // write your code here
 9         int m = A.length(), n = B.length(), len = 0;
10         vector<int> cur(m + 1, 0);
11         for (int j = 1; j <= n; j++) {
12             int pre = 0;
13             for (int i = 1; i <= m; i++) {
14                 int temp = cur[i];
15                 cur[i] = (A[i - 1] == B[j - 1]) ? pre + 1 : 0;
16                 pre = temp;
17                 len = max(len, cur[i]);
18             }
19         }
20         return len;
21     }
22 };

 

目录
相关文章
|
3月前
|
算法
LeetCode第5题最长回文子串
该文章介绍了 LeetCode 第 5 题最长回文子串的解法,通过分析回文子串的特点,使用动态规划的思想,用二维数组记录字符串是否为回文串,从后往前遍历找子串,减少重复判断,最终找到最长回文子串,并总结了解题时通过举例推导找规律的思路。
LeetCode第5题最长回文子串
|
算法
LeetCode5-最长回文子串
LeetCode5-最长回文子串
Leecode 5. 最长回文子串
Leecode 5. 最长回文子串
43 1
Leecode 409. 最长回文串
Leecode 409. 最长回文串
41 0
lintcode 415 有效回文串
用String下的spilt(regex)去除除英文外的符号,regex是正则表达式,[]内写要删除的符号,但返回值是一个String型数组。
|
Java C++ Python
leetcode 5 最长回文子串
leetcode 5 最长回文子串
81 0
|
算法
LeetCode 05最长回文子串
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
72 0
LeetCode 05最长回文子串