![](https://img-blog.csdnimg.cn/20200711212648705.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
每日力扣
刷遍力扣!
殷8023
一个在南京大学软件学院瑟瑟发抖的菜鸡
展开
-
dp之最大子序和、爬楼梯及二分插入
总结第一题考了dp、贪心;第二题考了二分查找;第三题考了dp;dp确实麻烦,接下来几天都做做这类的题目题目I题解 // 暴力解法,很悲催的是果然超出时间限制了 int maxSubArray(vector<int>& nums) { vector<int> temp; for(int i=1;i<=nums.size();i++){ for(int j=0;j+i<=nums.size();j++原创 2020-07-17 18:48:21 · 150 阅读 · 0 评论 -
从1到n的二叉搜索树及回溯类之全排列、电话号码
总结从1到n的二叉搜索树其实考的是数学,推导出卡特兰数从而解决;全排列和电话号码则是典型的回溯类题目,解法套路就是决策、再决策、撤销恢复状态题目I(DP动态规划)题解 int numTrees(int n) { vector<int> G(n+1,0); G[0]=1; // 第一重循环用来给G赋值,表示i个节点组成的二叉搜索树个数 // 因为是从1到n,所以在计算G[n]时是肯定知道G[n-1]及之前的原创 2020-07-15 11:09:26 · 213 阅读 · 0 评论 -
回溯算法之路径总和III
总结今天就只做了一道题,发现自己似乎平时撸代码都很狂暴,不考虑时间空间,所以回溯算法的时候也从来不考虑恢复状态什么的,但是之后得慢慢改了!今天遇见了一个讲算法讲得很好的gitbook,码一下link题目I题解I int pathSum(TreeNode* root, int sum) { if(root==NULL){ return 0; } int result=0; vector<int>原创 2020-07-14 22:33:27 · 192 阅读 · 0 评论 -
二叉搜索树公共祖先及所有路径问题
总结题目I####题解TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) { if(p->val<root->val and q->val<root->val){ return lowestCommonAncestor(root->left,p,q); } else if(p->val&g原创 2020-07-13 18:51:09 · 198 阅读 · 0 评论 -
DFS应用之路径之和、二叉树翻转
总结题目I题解 bool hasPathSum(TreeNode* root, int sum) { if(root==NULL){ return false; } int temp=0; return help(root,sum,temp); } bool help(TreeNode* p,int sum,int temp){ if((p->val+temp==sum) a原创 2020-07-11 23:18:02 · 71 阅读 · 0 评论 -
二叉树最小深度问题
总结写的有点少,就是之前内容的应用题目题解 int minDepth(TreeNode* root) { if(root==NULL){ return 0; } queue<TreeNode*> vec; int result=0; vec.push(root); while(!vec.empty()){ int size=vec.size(原创 2020-07-11 21:51:13 · 87 阅读 · 0 评论 -
二叉搜索、平衡树的应用
总结主要是回顾了二叉搜索树、平衡二叉树等概念,二叉搜索树的中序遍历可以得到一个升序的数组题目I题解 TreeNode* sortedArrayToBST(vector<int>& nums) { if(nums.size()==0){ return NULL; } int mid=nums[(nums.size()-1)/2]; TreeNode* p=new TreeNode(mid)原创 2020-07-11 21:49:38 · 180 阅读 · 0 评论 -
树的BFS、DFS遍历
总结今天主要是树的遍历,深度遍历(递归),广度遍历(队列)题目解法 //网上版本 if (root == null) { return 0; } // bfs Queue<TreeNode> queue = new LinkedList<>(); int depth = 0; queue.add(root); while (!queue.isEmp原创 2020-07-11 21:45:10 · 102 阅读 · 0 评论