06 2020 档案
摘要:三数之和 排序 + 双指针 排序 一个循环,确定三个数中的一个 使用双指针,如果三数之和大于0,右指针左移(因为由小到大排序,所以左边的数要小于右边) vector<vector<int>> threeSum(vector<int>& nums) { vector<vector<int>> ans;
阅读全文
摘要:盛最多水的容器 一般需要移动左右两头的问题可以考虑使用双指针 方法一:使用两重循环,遍历所有面积的可能,时间复杂度为O(n^2)级别 方法二:使用双指针,实质就是在移动的过程中不断消去不可能成为最大值的状态! 左右两别分别使用l, r指向 固定l, r指向较高的,移动较低的 如图中,右边固定了最后一
阅读全文
摘要:正则表达式匹配 状态转移方程:f[i][j] 表示从s串下标为i之后 与 p串下标为j之后是否匹配 第一种情况p[j+1]不为'*':字符匹配(包括字符相同和p串此处字符为'.' 则f[i][j] = f[i + 1][j + 1] && (s[i] == p[j] || p[j] == '.')
阅读全文

浙公网安备 33010602011771号