思路: 首先是子序列,所以说并不一定要求是连续的序列满足摆动序列。同时题目要求的是最长摆动子序列的长度。 动态规划 那么我们可以考虑通过记录摆动的长度得到,什么是摆动的长度呢?我们可以用up和down两个变量来记录摆动的次数,如果前一个差为正数,当前差为负,那么就是遇到了一个down,模拟往下摆动。 ...
分类:
其他好文 时间:
2021-04-10 13:10:26
阅读次数:
0
最近在读Modern Complier Implementatnion in C. 做到语法分析(syntax analysis)时,发现不知道如何写注释的正则表达式: 以下的正则表达式: "/*"[.|\n]"*/" 会根据最长匹配原则,将两行注释间的代码当作注释: /*comments*/ va ...
分类:
其他好文 时间:
2021-04-10 12:54:54
阅读次数:
0
给定一个未经排序的整数数组,找到最长且连续递增的子序列,并返回该序列的长度。 如: [1,2,3,2,3,4,3,4,5,6,7] 返回5. 贪心算法 func findLength(nums []int)int{ var start = 0 var maxLength = 0 for i:=1;i ...
分类:
编程语言 时间:
2021-04-09 12:51:45
阅读次数:
0
编号104:二叉树的最大深度 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 返回它的最大深度 3 。 思路 递归实现:先找左子树的最大深度;再找 ...
分类:
其他好文 时间:
2021-04-05 12:45:42
阅读次数:
0
原题链接https://codeforces.com/problemset/problem/4/D 题意:给你n个二元组和起始条件,求其最大二维上升子序列,并输出选择编号。 思路:按照一个维度排序,然后DP即可,注意细节。 代码如下 int n, w, h; struct node{ int w, ...
分类:
其他好文 时间:
2021-04-05 12:33:56
阅读次数:
0
难度 medium 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 例如, ...
分类:
其他好文 时间:
2021-04-05 12:24:42
阅读次数:
0
题目描述: 找出字符串中最长的回文子串长度 输入输出: Sample Input: Is PAT&TAP symmetric? Sample Output:Sample Output: 11 思路: dp的思想,设字符串str,dp[i][j] = 1 or 0 代表str[i] ~ str[j]间 ...
分类:
其他好文 时间:
2021-03-29 12:51:45
阅读次数:
0
class Solution { public int characterReplacement(String s, int k) { int left =0,right=0; int maxLength = -1; int result = 0; char[] charNums = new cha ...
分类:
其他好文 时间:
2021-03-17 14:50:06
阅读次数:
0
DP相关目录 几个基本 重要的划分依据: “最后”一步 集合划分依据:1. 不重复 2. 不漏 思考方式如下图: 基本模型 数字三角形模型 最长上升子序列模型 背包模型 状态机模型 状态压缩DP 区间DP 树形DP 数位DP 单调队列优化DP 斜率优化DP ...
分类:
其他好文 时间:
2021-03-16 11:58:24
阅读次数:
0
1143. 最长公共子序列 LeetCode_1143 题目描述 题解分析 求最长公共子序列主要需要考虑两种情况。 第一种是当前位置的两个字符相同,那么当前最长公共子串就是dp[i-1][j-1]+1。 第二种是当前位置的两个字符不同,那么当前最长公共子串长度就是两个串各退一个字符后的最大长度。 代 ...
分类:
其他好文 时间:
2021-03-16 11:55:59
阅读次数:
0