![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
O算法
猕员桃
冲冲冲!
展开
-
二叉树的直径+镜像交换
#include<iostream>#include<string>using namespace std;struct TreeNode{ int val; struct TreeNode*left; struct TreeNode*right; TreeNode(int x):val(x),left(nullptr),right(nullptr){}};//二叉树的镜像TreeNode* mirrorTree(TreeNode* root) {原创 2021-08-20 10:28:50 · 116 阅读 · 0 评论 -
有序数组 去除重复元素
//有序数组 去除重复元素 1 2 2 3 3 5 ------------------》 1 5vector<int> fun(vector<int> &res) //有序数组 去除重复元素{ int count =0; int nflag=INT_MIN; vector<int> finsh; for(int i=0;i<res.size()-1;i++){ if(res[i]==res[i+1]) { count++原创 2021-08-15 20:56:59 · 167 阅读 · 0 评论 -
二分法求平方根+循环输入以回车结束
double sqrt1(double x){double eps=0.00001;double low=0.0;double high=x;double mid=(low+high)/2;while((high-low)>eps){if(mid*mid>x){high=mid;}else{low=mid;}mid=(high+low)/2;return mid;}原创 2021-07-30 10:14:16 · 77 阅读 · 0 评论 -
2.动态规划
2.动态规划动态规划算法的两种形式①自顶向下的备忘录法 , 递归 +备忘录②自底向上,迭代+备忘录 迭代动态规划原理1.最优子结构用动态规划求解最优化问题的第一步就是刻画最优解的结构,如果一个问题的解结构包含其子问题的最优解,就称此问题具有最优子结构性质。因此,某个问题是否适合应用动态规划算法,它是否具有最优子结构性质是一个很好的线索。使用动态规划算法时,用子问题的最优解来构造原问题的最优解。因此必须考查最优解中用到的所有子问题。2.重叠子问题子问题重叠性质。子问题重叠性质是指在用递原创 2021-05-02 21:35:24 · 93 阅读 · 0 评论 -
14算法 .栈和队列+堆
14算法 .栈和队列1.通过队列实现栈 LeetCode 225a.两个队列实现栈 class MyStack {public: queue<int> q1, q2; MyStack() { } void push(int x) { if(q1.empty()){ q2.push(x); return; } if(q2.empty()){原创 2021-03-07 20:28:16 · 80 阅读 · 0 评论 -
O算法
O算法注意:尽可能利用条件, 暴力解实际没有很好的利用条件, 时间复杂度一般较高,做完之后, 可以思考, 如果没有这个条件, 暴力解能否解出来, 如果能, 就说明条件没用好。算法 尽量继承前面的计算结果, 得出或者退出后面的结果利用前面的结果要怎么做? 保存前面的结果–> 辅助空间 : 数组(便于查找不便于插入删除 ) 链表( 插入删除) 栈(后进先出 倒序) 队列(正序 先进先出)栈和队列, 没法遍历, 所以可以用数组vector或者链表list代替 :来实现空间换时间.数组 -->原创 2021-02-28 23:20:26 · 221 阅读 · 0 评论