2016年7月(大二暑假)
a931136789
这个作者很懒,什么都没留下…
展开
-
剑指offer之二维数组中查找一个数
题目:在二维数组中查找一个数 (具体不说了,参考剑指offer书) 代码如下: #include using namespace std; bool Find(int* matrix,int rows,int columns,int number) { bool found=false; if(matrix!=NULL&&rows>0&&columns>0) { int转载 2016-07-12 11:17:27 · 281 阅读 · 0 评论 -
剑指offer之替换空格
写这上面的题目,最大的感触就是作者把各种情况都考虑进去了,自己以前写代码不太注意,以后得改改,因为,好久没写过代码了,所以有好多地方参考的书上的,类型就为转载下面看代码吧,不难,但作者写的代码很精致,要学习的地方很多啊!#include<iostream> #include <string.h> using namespace std; void ReplaceBlack(char string[]转载 2016-07-12 17:01:41 · 246 阅读 · 0 评论 -
剑指offer之旋转数组的最小数字
此题是一个旋转数组如{3,4,5,1,2}这样的数组,用普通的算法自然能解出来,但二分法比较好(除非几种特殊情况) 还有就是异常的性质,以后多写一写。 看代码吧#include<iostream> #include<exception> using namespace std; //此处必须声明函数MinInOrder int MinInOrder(int* array,int index1,原创 2016-07-14 22:20:14 · 251 阅读 · 0 评论 -
剑指offer之二进制中的1的个数与斐波那契数列
斐波那契数列一般教材都是用的递归long long F(unsigned int n) { if(n<=0) return 0; if(n==1) return 1; return F(n-1)+F(n-2); }但是这种方法随着n的增大,时间复杂度以指数的方式递增,所以可采用下面这种方法。long long Fibonacci2(unsigne原创 2016-07-15 16:13:59 · 587 阅读 · 0 评论 -
剑指offer之一个数的N次方
求一个数的N次方,看起来简单,但实际上要考虑很多东西有很多,比如底数为0,指数为负等情况,下面是平常的算法和另外一种算法的代码:#include<iostream> #include<math.h> using namespace std; bool equal(double num1, double num2); double PowerWithUnsignedExponent(double ba原创 2016-07-15 21:52:39 · 446 阅读 · 0 评论 -
剑指offer之打印1到最大的n位数
此题看上去很简单,但要考虑大数问题,所以采用定义一个char数组,如n为3,则定义一个number[4]就可以了,下面是一种算法,采用递归和非递归,递归是全排列算法。#include<iostream> #include<string.h> using namespace std;bool Increment(char* number); void PrintNumber(char* number)原创 2016-07-17 20:23:28 · 314 阅读 · 0 评论