摘要:
1 string longestPalinderome(string s) { 2 int N = s.size(); 3 int id = 0, mx = 0; 4 vector dp(2 * N + 1); 5 for (int i = 0; i i) { 8 dp[i] = min(mx - i, dp[j]); 9 }10 int left = i - dp[i], right = i + dp[i];11 for (; left >= 0 && right mx) {19 ... 阅读全文
摘要:
看清问题,用DP就可以了,之前我首先想到的是图的搜索,实际上在这里并不适用;必须遍历每个点,计算它的最大矩阵,遍历的顺序为从左上角到右下角,x, y表示左边的最大长度,y表示上面的最大长度,然后计算每个点的最大面积; 1 class Solution { 2 public: 3 int maximalRectangle(vector > &matrix) { 4 // Start typing your C/C++ solution below 5 // DO NOT write int main() function 6 int res... 阅读全文
摘要:
又是这种需要仔细考虑的题目,很容易就会漏掉一些情况,哎,感冒了,完全不在状态,调了好几个小时,写代码的能力实在是不行,总感觉写出来的代码不够优雅, 1 class Solution { 2 public: 3 int trap(int A[], int n) { 4 // Start typing your C/C++ solution below 5 // DO NOT write int main() function 6 int res = 0; 7 if (A == NULL) { 8 re... 阅读全文