
分治
cx_cs
这个作者很懒,什么都没留下…
展开
-
395. 至少有 K 个重复字符的最长子串
要求:rt 思路:滑动窗口太难。递归分治,找出串内不够k次的,以他们为分割点递归剩下的。 class Solution { public: int dfs(const string& s, int l, int r, int k) { vector<int> cnt(26, 0); for (int i = l; i <= r; i++) cnt[s[i] - 'a']++; char split =原创 2022-04-18 13:58:40 · 154 阅读 · 0 评论 -
95. 不同的二叉搜索树 II
要求:从1到n组合二叉搜索树 思路:分治 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr),原创 2021-10-11 21:21:46 · 261 阅读 · 0 评论 -
241. 为运算表达式设计优先级
要求:所有运算组合 思路:分治,而且要循环 class Solution { public: vector<int> diffWaysToCompute(string expression) { int n=expression.length(); vector<int> ans; for(int i=0;i<n;i++){ char op=expression[i]; if原创 2021-10-11 19:44:55 · 64 阅读 · 0 评论