摘要:
没看到只有三种颜色 原地排序用的冒泡 反正 n <= 300 也不影响 class Solution { public: void sortColors(vector<int>& a) { int n = a.size(); for (int i = 0; i < n; i++) { for (in 阅读全文
摘要:
滑动窗口 从 l = 0 开始不断移动右指针 r 找到一个能满足的窗口 然后缩小窗口直到不满足 接着就继续移动 r 到满足 重复这一个过程 合法性在于固定 l 时移动 r ,我们是在找让这个 l 满足的最小 r 固定 r 移动 l 是找让这个 r 满足的最大 l 并且这个过程中扫到的 l 一定不会更 阅读全文
摘要:
回溯搜索 每个位置选或不选 class Solution { public: vector<vector<int>> subsets(vector<int>& a) { int n = a.size(); vector<vector<int>> ans; vector<int> tmp; auto 阅读全文
摘要:
就是维护下每个数有没有出现过,遍历元素,如果构成target需要的元素出现过的话就找到了 class Solution { public: vector<int> twoSum(vector<int>& a, int target) { int n = a.size(); unordered_map 阅读全文
摘要:
依然递归 子节点传上来是否合法,如果子树不合法那这棵树一定也不合法 然后我们进行二叉搜索树的性质判定 左子树为例,要判断都小于根节点,那么就只要把左子树的最大值拿出来比较就可以 右子树也是一样的 因此我们回传的时候传递是否合法,还有当前最大值和最小值 /** * Definition for a b 阅读全文