![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
zhuzhubility
这个作者很懒,什么都没留下…
展开
-
【算法1】猴子吃桃
http://www.cnblogs.com/huangxincheng/archive/2012/08/08/2628022.htmlint getlast(int sn){ return 2*(sn+1);}int main(){ int n=9;int to=1; while(n){ to=getlast...转载 2019-04-04 16:51:11 · 146 阅读 · 0 评论 -
【算法2】最长公共子序列
https://blog.csdn.net/someone_and_anyone/article/details/81044153https://www.cnblogs.com/gispf/p/6733074.html(讲解了最长公共子串、最长公共子序列、字符串相似度)#define N 1010int dp[N][N];char c;int main(){ char...转载 2019-04-04 17:36:23 · 296 阅读 · 0 评论 -
【算法3】将数组中的数拼成一个最大的数
比如:输入 321 32 6输出 632321 #include<c++/4.8.2/iostream> #include<c++/4.8.2/vector> #include<c++/4.8.2/string> #include<c++/4.8.2/algorithm> using namespace std;...转载 2019-04-07 09:18:38 · 1366 阅读 · 0 评论 -
【算法4】
题目:写一个程序,要求功能,求出用1、2、5这三个数不同个数组合的和为100的组合数。如100个1是一个组合,20个5是另外一个组合。思路一:看到这样的问题我们首先会想到最简单穷举法,三层循环就可以解决了。代码如下: #include "stdafx.h"#include <assert.h>#include <iostream>...转载 2019-04-07 09:24:53 · 166 阅读 · 0 评论 -
【算法】扔玻璃珠
题目某幢大楼有100层。你手里有两颗一模一样的玻璃珠。当你拿着玻璃珠在某一层往下扔的时候,一定会有两个结果,玻璃珠碎了或者没碎。这幢大楼有个临界楼层。低于它的楼层,往下扔玻璃珠,玻璃珠不会碎,等于或高于它的楼层,扔下玻璃珠,玻璃珠一定会碎。玻璃珠碎了就不能再扔。现在让你设计一种方式,使得在该方式下,最坏的情况扔的次数比其他任何方式最坏的次数都少。也就是设计一种最有效的方式。分析1)最笨的办...转载 2019-04-07 10:51:55 · 1489 阅读 · 0 评论 -
剑指【数组中重复数字】
题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。思路:1、排序将数组排序,然后扫描排序后的数组即可。时间复杂度:O(nlogn),空间复杂度:O(1)...转载 2019-04-21 11:59:40 · 85 阅读 · 0 评论 -
剑指【不修改数组查找重复数字】
给定一个长度为n+1的数组 nums,数组中所有数都在1-n范围内,其中n>=1;查找数组中任意一个重复的数;将数字范围1-n作为二分查找的左右区间,l=1,r=n;mid=(l+r)/2;如果数值落在l-mid上的数的个数比左区间的长度大,则说明左区间有重复数字,否则右区间有重复数字;int duplicate(vector<int>& nums)...转载 2019-04-21 12:28:07 · 122 阅读 · 0 评论 -
剑指【重建二叉树】
给定前序遍历和中序遍历,构建二叉树递归:找到每个子树的根节点,定义为pivot,再分别构造左右子树 TreeNode* R(vector<int> a,int abegin,int aend,vector<int> b,int bbegin,int bend) { if(abegin>=aend || bbegin>...转载 2019-04-21 12:48:11 · 200 阅读 · 0 评论