[LeetCode] Longest Palindromic Substring 使用2D-vector 和 2D-array的区别
2014-12-22 13:14
429 查看
一下这段代码,我是用的是dynamic programming的方法。采用了以2D-vector作为memoization的做法。结果系统告诉我超时。当我采用普通二维数组的时候就被接受了。其实两种方法世间复杂度都是O(n^2),空间复杂度也都是O(n^2)。所以我觉得才用STL会一定程度上占用更多的时间来完成任务。
// Memoization class Solution { public: string longestPalindrome(string s) { int size = s.size(); vector<vector<bool>> memo(s.length(), vector<bool>(s.length(), false)); int tmpSt = 0, tmpEnd = 0; int maxLen = 1; for(int i = 0; i < size; i++) for(int j = 0; j < size; j++) if(i >= j) memo[i][i] = true; for(int j = 1; j < size; j++) for(int i = 0; i < j; i++) { if(memo[i+1][j-1] == true && s[i] == s[j]) { memo[i][j] = true; if(maxLen < j - i + 1) { tmpSt = i; tmpEnd = j; maxLen = j - i + 1; } } else memo[i][j] = false; } return s.substr(tmpSt, tmpEnd - tmpSt + 1); } };
相关文章推荐
- [LeetCode] Longest Palindromic Substring
- [Leetcode] Longest Palindromic Substring [Unsolved]
- LeetCode_Longest Palindromic Substring
- [LeetCode] Longest Palindromic Substring
- Longest Palindromic Substring leetcode
- [LeetCode] Longest Palindromic Substring - O(n)
- leetcode -- Longest Palindromic Substring
- LeetCode Online Judge 题目C# 练习 - Longest Palindromic Substring
- LeetCode | Longest Palindromic Substring
- LeetCode Longest Palindromic Substring
- leetcode 73: Longest Palindromic Substring
- [LeetCode]Longest Palindromic Substring
- Leetcode : Longest Palindromic Substring
- [LeetCode] Longest Palindromic Substring
- [Leetcode] Longest Palindromic Substring
- leetcode 73: Longest Palindromic Substring
- LeetCode: Longest Palindromic Substring
- leetcode - Longest Palindromic Substring
- leetcode--Longest Palindromic Substring
- [leetcode刷题系列]Longest Palindromic Substring