? 子串、子序列问题 字符串 "最长公共子序列" dp[i] [j] 表示以下标i结尾的str1 和 以下标j结尾的str2的最长公共子序列的长度。 dp[i] [j]= 1. 0, i=0或者j=0 2. dp[i 1] [j 1]+1, str[i 1]==str[j 1] 3. max( dp ...
分类:
其他好文 时间:
2020-03-10 21:48:54
阅读次数:
52
1、动态规划 首先单个字符就是一个回文子串,如果两个字符都相同就是一个回文子串,三个字符是在一个字符的左右两边加上相同字符而成的回文子串,四个字符是两个字符左右两边加上相同字符形成的回文子串。 不妨以单个字符和双个字符为初始条件去构造动态方程: dp[i][i]=1;//单个字符 dp[i][i+1 ...
分类:
其他好文 时间:
2020-03-10 14:17:17
阅读次数:
42
[TOC] 简述 KMP 算法,又称模式匹配算法,能够在线性时间内判定字符串 $A[1 N]$ 是否为字符串 $B[1 M]$ 的子串。 对于刚刚接触 KMP 的同学来说,理解起来比较困难,难以理解 $next[]$ 数组的实际意义。 ~~当然你要硬背 KMP 也没人拦着你,因为代码确实就十几行~~ ...
分类:
编程语言 时间:
2020-03-09 13:48:16
阅读次数:
73
给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。 返回 s 所有可能的分割方案。 代码: class Solution: def __init__(self): self.res = [] def partition(self, s: str) -> List[List[str]] ...
分类:
编程语言 时间:
2020-03-08 19:19:36
阅读次数:
77
P1032 字串变换 迭代加深难题 题意描述 右手进入 "传送门" 大意是这样的:给定两个字符串A,B以及至多六个变换规则 (规则指A1 B1,A2 B2,在A中的子串 A1可以变换为B1,A2可以变换为 B2 …) 求最少变换步数,若在10步(包含10步)以内能将A变换为B,则输出最少的变换步数; ...
分类:
其他好文 时间:
2020-03-07 18:51:08
阅读次数:
65
1 ;;;name:BF-Str-PatternNum 2 ;;;desc:字符串string中指定子字符串pattern的个数 3 ;;;arg:pattern:要统计其个数的子串 4 ;;;arg:string:字符串,在其中搜索pattern并计数 5 ;;;return:字符串string中 ...
分类:
其他好文 时间:
2020-03-07 09:44:33
阅读次数:
79
初学arm开发,串口程序是操作寄存器的典型例子,串口程序的开发流程也一定程度代表着其他部分的开发步骤 ...
分类:
其他好文 时间:
2020-03-07 00:00:39
阅读次数:
105
题意:含13子串且整除13的个数 思路: n-不含13-不整除13+既不也不13(容斥) 1 #define IOS ios_base::sync_with_stdio(0); cin.tie(0); 2 #include <cstdio>//sprintf islower isupper 3 #i ...
分类:
其他好文 时间:
2020-03-06 21:39:07
阅读次数:
85
题目: 给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次。在执行上述操作后,找到包含重复字母的最长子串的长度。 注意:字符串长度 和 k 不会超过 104。 示例 1: 输入: s = "ABAB", k = 2 输出: 4 解释: 用两个'A' ...
分类:
其他好文 时间:
2020-03-06 01:52:38
阅读次数:
90
转自:labuladong公众号 子序列问题是常见的算法问题,而且并不好解决。 首先,子序列问题本身就相对子串、子数组更困难一些,因为前者是不连续的序列,而后两者是连续的,就算穷举都不容易,更别说求解相关的算法问题了。 而且,子序列问题很可能涉及到两个字符串,比如让你求两个字符串的 最长公共子序列, ...
分类:
编程语言 时间:
2020-03-05 01:31:20
阅读次数:
79