题目信息 时间: 2019-07-04 题目链接:Leetcode tag: 二叉树 层序遍历 后序遍历 难易程度:简单 题目描述: 输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 示例: 给定二叉树 [3,9,20, ...
分类:
其他好文 时间:
2020-07-05 17:35:56
阅读次数:
68
原型:最长上升子序列 分析 状态表示:所有以a[i]结尾的严格单调上升的子序列的Max长度 状态划分依据:以最后一个不同的点 状态方程:dp[i] = max(dp[i], dp[j] + 1), j必须要小于i for(int i = 1; i <= n; i++) { dp[i] = 1; fo ...
分类:
其他好文 时间:
2020-07-05 17:12:16
阅读次数:
54
题意:给定一个字符串,每个操作1修改字符串上的某个值 2.给x,y,询问以x开头和以y开头的两个后缀字符串的最长前缀的大小。 经典的线段树维护hash值,之后对于每个询问,用二分查询答案,带了两个log 比赛的时候一直被卡,结束后加了一行如果第一个字母不等就略过的优化就卡过了,太伤了。 #inclu ...
分类:
其他好文 时间:
2020-07-05 00:58:40
阅读次数:
66
我的代码居然过了。。 class Solution: def expand(l,s): r = False for item in l: left = item[0] right = item[1] if left>=1 and s[left-1]=='(' and right+1<len(s) a ...
分类:
其他好文 时间:
2020-07-05 00:40:40
阅读次数:
53
给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明: 可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(n2) ...
分类:
其他好文 时间:
2020-07-05 00:38:37
阅读次数:
49
题目描述: 方法一:动态规划 O(n) O(n) class Solution: def longestValidParentheses(self, s: str) -> int: n = len(s) if n==0:return 0 dp = [0]*n for i in range(len(s ...
分类:
其他好文 时间:
2020-07-05 00:18:58
阅读次数:
66
https://leetcode-cn.com/problems/longest-valid-parentheses/ 思路 一开始的想法是用栈辅助匹配括号,后来发现题目中求的是最长有效,发现用栈直接匹配括号有点麻烦。后来,看了官方题解: 使用栈来记录最后一个没有被匹配的右括号的下标 对于遇到的每个 ...
分类:
其他好文 时间:
2020-07-04 22:23:40
阅读次数:
38
给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 示例 1: 输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2: 输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()" 链接:https://leetcode-cn.com ...
分类:
其他好文 时间:
2020-07-04 20:26:33
阅读次数:
49
给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 示例 1: 输入: "(()" 输出: 2 解释: 最长有效括号子串为 "()" 示例 2: 输入: ")()())" 输出: 4 解释: 最长有效括号子串为 "()()" 来源:力扣(LeetCode) 链接:ht ...
分类:
其他好文 时间:
2020-07-04 16:55:17
阅读次数:
51
import java.util.Stack; /** * @Class LongestValidParentheses * @Description 32. 最长有效括号 * 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 * <p> * 示例 1: * 输入: ...
分类:
其他好文 时间:
2020-07-04 15:36:31
阅读次数:
51