- 博客(7)
- 收藏
- 关注
转载 三角形
有n根棍子,棍子i的长度为ai。想要从中选取3根棍子组成周长尽可能长的三角形,请输出最大的周长,若无法组成三角形,则输出0。//int n; //int a[n]; int max=0; for(int i=0;i<n-2;i++) for(int j=i+1;j<n-1;j++) for(int k=j+1;k<n;k++) if(
2016-11-09 09:45:51
182
原创 判断数组是不是某二叉搜索树的后序遍历的结果。假设输入的数组的任意两个数字都互不相同。
代码如下所示:class Solution { public: bool VerifySquenceOfBST(vector<int> sequence) { if(sequence.size()>0){ vector<int> left, right; int len=sequence.size();
2016-10-20 08:53:21
234
翻译 动态规划
算法:动态规划动态规划与分治法相似,都是通过组合子问题的解来求解原问题的方法。 分治法:是将原问题划分为互不相交的子问题,递归地求解子问题,再将它们的解组合起来,求出原问题的解。 动态规划:应用于子问题重叠的情况,即不同的子问题有公共的子问题。 在这种情况下,分治法会做许多不必要的工作。它会反复地求解那些公共子问题,而动态规划算法对每个子问题只求解一次,将其解保存在一个
2016-10-19 18:24:33
598
原创 宽度优先搜索
完成对一个树的宽度优先搜索 话不多说直接贴代码/* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { } };*/ class Sol
2016-10-19 17:36:47
282
转载 中缀表达式转换后缀表达式
算法思想: step 1 : 从左到右一次扫描中缀表达式的每一个字符,如果是数字字符和小数点“.”则直接将它们写入后缀表达式中,否则(遇到的是操作符)转2或3。 step 2: 如果遇到的括号时: 2.1.如果是开括号“(”,则将它们压入一个操作符栈(不需要与栈顶操作符相比较),它表明一个新的计算层次的开始; 2.2.如果遇到的括号“)”时,将栈中的元素弹出来
2016-10-13 19:28:40
235
转载 欢迎使用CSDN-markdown编辑器
算法:动态规划动态规划与分治法相似,都是通过组合子问题的解来求解原问题的方法。 分治法:是将原问题划分为互不相交的子问题,递归地求解子问题,再将它们的解组合起来,求出原问题的解。 动态规划:应用于子问题重叠的情况,即不同的子问题有公共的子问题。 在这种情况下,分治法会做许多不必要的工作。它会反复地求解那些公共子问题,而动态规划算法对每个子问题只求解一次,将其解保存在一个
2016-10-13 08:28:58
155
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人