摘要:
最大相等频率 记录状态 cnt数组记录单个数字出现的次数,sum数据记录某一种次数出现的总和。 遍历数据,对于某一个元素来说,首先将cnt数组该元素的值加一,然后记录这个元素出现次数,更新sum数据,max用于维护最大次数总和。 接下来判断是否需要更新最大的长度,以下情况需要进行更新: 当max = 阅读全文
posted @ 2022-08-18 21:26
xzh-yyds
阅读(33)
评论(0)
推荐(0)
摘要:
不同路径 图dp class Solution { public int uniquePaths(int m, int n) { int dp[][] = new int[m][n]; for(int i = 0; i < m; i++){ for(int j = 0; j < n; j++){ i 阅读全文
posted @ 2022-08-18 17:10
xzh-yyds
阅读(25)
评论(0)
推荐(0)
摘要:
跳跃游戏 dp 记录能到达的最大路径,然后进行遍历。 如果发现当前的位置已经超过了能到达的最大值,那么表明此处无法到达,返回false。 如果发现当前位置能跳跃到更远的距离,那么更新最大值 class Solution { public boolean canJump(int[] nums) { i 阅读全文
posted @ 2022-08-18 16:56
xzh-yyds
阅读(30)
评论(0)
推荐(0)
摘要:
最大子数组和 dp 记录当前位置的累加和以及最大子数组和。 遍历数组并累加,如果发现累加和小于0,那么前面累加的东西反而会使得后面的和变小,那么直接丢弃,将累加和清零。 class Solution { public int maxSubArray(int[] nums) { int max = n 阅读全文
posted @ 2022-08-18 16:52
xzh-yyds
阅读(18)
评论(0)
推荐(0)
摘要:
不同的子序列 dp 维护一个二维dp数组,分别表示s[0:i]和t[0:j]的分配种类。 如果j等于0,由于模式串没有进行匹配,那么对于所有的原串来说,都只有一种匹配方式,所以需要赋值1。 然后进行遍历,如果s[i]和t[j]相同,那么有两种选择,匹配或者不匹配,dp[i][j] = dp[i-1] 阅读全文
posted @ 2022-08-18 16:49
xzh-yyds
阅读(31)
评论(0)
推荐(0)
摘要:
通配符匹配 dp 和正则匹配方法类似。先去处理边界值为0的情况。dp[0][0] = true,同时让j从0到n开始遍历,如果当前的位置是*,那么dp[0][j] = true,因为可以匹配0个字符,否则表明无法继续零匹配,直接跳出循环。 然后进行二维循环,如果当前的匹配串为,那么有两种选择,匹配之 阅读全文
posted @ 2022-08-18 16:35
xzh-yyds
阅读(29)
评论(0)
推荐(0)
摘要:
正则表达式匹配 dp dp[i][j]表示s[0:i]和p[0:j]是否匹配。 如果i == 0 && j == 0,那么说明两个字符串都没有选择字符,是true 如果j == 0,那么说明匹配串没有字符而原字符串有字符,是false 否则,需要根据字符进行分类讨论(注意:i == 0无法判断是tr 阅读全文
posted @ 2022-08-18 13:53
xzh-yyds
阅读(27)
评论(0)
推荐(0)
摘要:
最长回文子串 中心扩展法 从中心向两侧扩展,分为两种情况:一种是奇数长度,一种是偶数长度,需要分开讨论。 class Solution { public String longestPalindrome(String s) { int n = s.length(), left = 0, right 阅读全文
posted @ 2022-08-18 13:31
xzh-yyds
阅读(15)
评论(0)
推荐(0)
摘要:
接雨水 dp 维护两个dp数组,分别记录左侧和右侧的最大值。当前位置的雨水就是左右两侧最大值的较小值减去当前位置的高度,将所有雨水累加即可得到结果。 class Solution { public int trap(int[] height) { int n = height.length, lef 阅读全文
posted @ 2022-08-18 13:14
xzh-yyds
阅读(30)
评论(0)
推荐(0)
摘要:
最长有效括号 dp dp[i]表示以i为结尾的有效括号的最大长度,dp转移方程如下: 如果i是)且i-1是(,那么dp[i] = dp[i-2]+2 如果i是)且i-1是),且第i-dp[i-1]-1是(,这样刚好能和第i个字符进行匹配。那么dp[i] = dp[i-dp[i-1]-2] + (i+ 阅读全文
posted @ 2022-08-18 10:44
xzh-yyds
阅读(33)
评论(0)
推荐(0)

浙公网安备 33010602011771号