摘要: 算法 集合:所有S[1~i]和P[1~j]的匹配方案 属性:是否存在一个合法方案(bool) 如果p[j] != '*',dp[i][j] = dp[i-1][j-1] && (s[i]==p[j] || p[j]=='?') 如果p[j] == '*',dp[i][j] = dp[i][j - 1 阅读全文
posted @ 2022-11-16 13:22 INnoVation-V2 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 算法1.三次线性扫描$O(n)$ 观察整个图形,考虑对水的面积按 列 进行拆解 注意到,每个矩形条上方所能接受的水的高度,是由它左边 最高的 矩形,和右边最高的矩形决定的。 具体地,假设第 i 个矩形条的高度为 height[i],且矩形条左边 最高的 矩形条的高度为 left_max[i],右边 阅读全文
posted @ 2022-11-16 12:38 INnoVation-V2 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 前置算法: 复原数组 先看一个基础算法, 快速复原一个无序数组, 使得nums[i] == i, 且数组中的元素都是从0开始的有序数 比如数组长度为5,那么数组中的元素就是0 1 2 3 4,且不重复 要恢复这个数组,使得num[i] == i, 就是使用交换,代码如下 void reset(vec 阅读全文
posted @ 2022-11-16 11:40 INnoVation-V2 阅读(11) 评论(0) 推荐(0) 编辑