摘要: 分割回文串 II 双重dp 首先需要用dp去记录s中回文子串的信息,找出所有的回文子串,方法如上一题。 然后对子串进行拆分,拆分的时候需要用到dp。 对于下标为i这一点,需要去遍历[0, i]这些部分,找出所有以i点结束的回文子串,计算相应的拆分数量,取较小值。 由于最后返回的是分割数量而不是拆分后 阅读全文
posted @ 2022-08-17 13:37 xzh-yyds 阅读(28) 评论(0) 推荐(0)
摘要: 分割回文串 dp+回溯 先通过dp记录子字符串是否为回文串,dp[i][j]表示从i开始到j结束的字符串是否为回文串。注意,i的遍历要从后往前。 然后从0开始进行dfs。在dfs中,找出所有以k为起始字符的回文子串,然后加入路径中,继续进行dfs,直到k == n为止 class Solution 阅读全文
posted @ 2022-08-17 13:21 xzh-yyds 阅读(29) 评论(0) 推荐(0)
摘要: 解码方法 dp 如果当前位置的字符串不等于0,则表明这个字符可以被解码成新字符,dp[i] += dp[i-1] 如果上一个位置的字符串等于1或者2并且与当前字符拼接的数字小于等于26,则表明本字符可以是上一个字符遗留下来的,dp[i] += dp[i-2] class Solution { pub 阅读全文
posted @ 2022-08-17 13:05 xzh-yyds 阅读(42) 评论(0) 推荐(0)
摘要: 扰乱字符串 dp dp需要记录s1和s2的起始位置和长度,所以是一个三维dp。 dp[i1][i2][len]表示s1从i1位置开始,s2从i2位置开始,长度为len的两个字符串是否和谐。分为以下几种情况: 如果两个字符串相等,返回true 如果字符串不相等,那么从1到len-1的范围内,找出分割点 阅读全文
posted @ 2022-08-17 12:03 xzh-yyds 阅读(30) 评论(0) 推荐(0)
摘要: 最大矩形 dp+单调栈 对每一层维护本列中形成的最高值height,然后对每一层分别计算最大的矩形。 计算每一层最大矩形的时候,先用单调栈记录小于当前位置的左下标和右下标,矩形面积就是(right[i]-left[i]-1) * height[i] class Solution { public i 阅读全文
posted @ 2022-08-16 22:41 xzh-yyds 阅读(22) 评论(0) 推荐(0)
摘要: 两个字符串的最小ASCII删除和 dp dp[i][j]代表s1[0:i]和s2[0:j]两个字符串的最小删除值。转移方程如下: 如果i == 0且j == 0,则dp[i][j] = 0 如果i == 0或j == 0,则dp[i][j] = dp[i-1][j]+s1.charAt(i-1)或d 阅读全文
posted @ 2022-08-16 21:28 xzh-yyds 阅读(37) 评论(0) 推荐(0)
摘要: 质数排列 分别找出质数和合数的数量,将两者的阶乘相乘即可 class Solution { public int numPrimeArrangements(int n) { int cnt = 0; for(int i = 2; i <= n; i++){ boolean flag = true; 阅读全文
posted @ 2022-08-16 20:48 xzh-yyds 阅读(23) 评论(0) 推荐(0)
摘要: 员工的重要性 dfs class Solution { Map<Integer, Employee> map = new HashMap<>(); public int getImportance(List<Employee> employees, int id) { for(Employee e 阅读全文
posted @ 2022-08-16 20:38 xzh-yyds 阅读(18) 评论(0) 推荐(0)
摘要: 移动石子直到连续 分类讨论 class Solution { public int[] numMovesStones(int a, int b, int c) { if(a > b){int t = a; a = b; b = t;} if(a > c){int t = a; a = c; c = 阅读全文
posted @ 2022-08-16 20:22 xzh-yyds 阅读(16) 评论(0) 推荐(0)
摘要: 设计有序流 数组遍历 维护一个String数组和一个index下标,如果insert插入的idKey-1==index,则将后续字符串依次输出直到遇到null或index==n为止 class OrderedStream { String arr[]; int index = 0; public O 阅读全文
posted @ 2022-08-16 19:25 xzh-yyds 阅读(23) 评论(0) 推荐(0)