1.摘要: 关于LIS部分,本篇博客讲一下LIS的概念定义和理解,以及求LIS的三种方法,分别是O(n^2)的DP,O(nlogn)的二分+贪心法,以及O(nlogn)的树状数组优化的DP,最后附上几道非常经典的LIS的例题及分析。 2.LIS的定义: 最长上升子序列(Longest Increas ...
分类:
其他好文 时间:
2020-06-04 01:48:57
阅读次数:
91
一、区别 给定两个字符串,求LCS 最长公共子串 (Longest Common Substring): 要求是连续的字符串 最长公共子序列(Longest Common Subsequence):要求子字符串相对顺序不变即可 二、动态规划求解 1、最长公共子串 给定两个字符串A 和 B 用二维数组 ...
分类:
其他好文 时间:
2020-06-01 23:43:29
阅读次数:
64
问题: 给定数组,求满足锯齿形子数组<连续两两元素的增减关系为:增减依次循环出现>的最大长度。 Example 1: Input: [9,4,2,10,7,8,8,1,9] Output: 5 Explanation: (A[1] > A[2] < A[3] > A[4] < A[5]) Examp ...
分类:
其他好文 时间:
2020-06-01 13:46:46
阅读次数:
54
可以是弯的,那不就是左右相加了吗?要跟之前节点的值比较时,此时可以把节点值node.val作为参数。这是这题特殊的地方。 想错了的一个地方:既然返回的是要拿来用的、用来计算的,就应该是DC left = traverse(root.left)这样 class Solution { int lengt ...
分类:
其他好文 时间:
2020-05-31 11:21:05
阅读次数:
64
Given a string, you are supposed to output the length of the longest symmetric sub-string. For example, given Is PAT&TAP symmetric?, the longest symme ...
分类:
其他好文 时间:
2020-05-30 01:16:17
阅读次数:
60
最长公共子序列(Longest-Common-Subsequences,LCS)是一个在一个序列集合中(通常为两个序列)用来查找所有序列中最长子序列的问题。最长公共子串(Longest-Common-Substring,LCS)问题是寻找两个或多个已知字符串最长的子串。此问题与最长公共子序列问题的区 ...
分类:
其他好文 时间:
2020-05-24 12:11:48
阅读次数:
59
中心扩展法。 class Solution { public: string longestPalindrome(string s) { int start = 0, end = 0; for (int i = 0; i < s.size(); ++i) { findLongest(s, i, i, ...
分类:
其他好文 时间:
2020-05-24 11:40:39
阅读次数:
50
链接:https://leetcode-cn.com/problems/longest-continuous-increasing-subsequence/ 代码: class Solution { public: int findLengthOfLCIS(vector<int>& nums) { ...
分类:
其他好文 时间:
2020-05-23 00:13:44
阅读次数:
45
链接:https://leetcode-cn.com/problems/longest-consecutive-sequence/ 代码: class Solution { public: int longestConsecutive(vector<int>& nums) { int n = num ...
分类:
其他好文 时间:
2020-05-23 00:10:02
阅读次数:
46
A sequence of number is called arithmetic if it consists of at least three elements and if the difference between any two consecutive elements is the ...
分类:
其他好文 时间:
2020-05-21 10:33:22
阅读次数:
54