- 博客(24)
- 收藏
- 关注
原创 ........
int KindNumOfApple(unsigned int m,unsigned int n){ if(m==1||n==1) return 1; if(m<n) return m; if(m>n) return KindNumOfApple(m,n-1)+KindNumOfApple(m-n,n); if(m==n) retu
2014-09-18 12:45:22 392
转载 HUAWEI
2012华为校园招聘机考试题总结(厦门大学) 1、删除子串,只要是原串中有相同的子串就删掉,不管有多少个,返回子串个数。#include #include #include #include int delete_sub_str(const char *str,constchar *sub_str,char *result){ assert(str!=
2014-09-12 16:10:52 813
转载 二维数组分配,释放空间
http://blog.csdn.net/xcyangfan/article/details/7055028二维数组申请与释放[cpp] view plaincopyint nGLen=10000;//Graph length int **test=new int* [nGLen]; for (int g=
2014-06-29 13:52:29 664
原创 链表问题,逆序打印链表,改变链表指向方向
#include#includetypedef struct TreeNode{ int key; struct TreeNode* next;}Node,*ptrNode;//逆序打印链表void ReversePrint(ptrNode phead){ if(phead==NULL) return; if(phead->next!
2014-06-04 15:45:44 608
原创 编程之美--只考加法的面试题1
//对一个整数输出它所有的可能连续自然数之和#include#include//a+(a+1)+...+(a+k-1)//a+(a+1)+...+(a+k-1)=x;=>a=(2*x+k-k*k)/(2*k)//自然数==>a>0==>2*x+k-k*k>0==>kvoid Int(int x){ int i,k,tmp,a; int flag=0; tmp
2014-05-31 11:57:58 619
原创 递归法判断字符串是否回文
#include#includebool IsHuiwen(const char *str,int len){ if(len==1||len==0) return true; if(*str!=*(str+len-1)) return false; else { str++; return IsHuiwen(str,len-2);
2014-05-19 11:27:08 1091
原创 旋转数组最小值
//查找旋转数组中最小值,时间复杂度为O(logn)#include//旋转数组没有相等的数 [6,7,]int Find_min(int array[],int length){ int ptrnode1,ptrnode2,midnode; ptrnode1=0; ptrnode2=length-1; midnode=ptrnode1; while(
2014-05-07 12:31:56 404
原创 指针问题
#include#includechar *c[] = { "ENTER", "NEW", "POINT", "FIRST" }; char **cp[] = { c+3, c+2, c+1, c }; char ***cpp = cp; int main(void) { printf("%s", **++cpp); printf("%s
2014-03-26 15:06:05 374
转载 float在内存中存储
http://blog.csdn.net/yezhubenyue/article/details/7436624浮点型变量在计算机内存中占用4字节(Byte),即32-bit。遵循IEEE-754格式标准。一个浮点数由2部分组成:底数m 和 指数e。 ±mantissa × 2exponent (注意,公式中的mantissa 和
2014-03-26 12:34:59 503
原创 实现数组获取前K个最小数
采用快速排序算法变形实现数组前K个最小数算法的实现。#include#include//#define swap(a,b) {a=a^b;b=a^b;a=a^b;}void swap(int *a,int *b){ //*a=*a^*b; //*b=*a^*b;//*a=*a^*b; int tmp; tmp=*a; *a=*b; *b=tmp;}
2014-03-24 21:17:30 491
原创 两个数进行数字交换
void swap(int *a,int *b){ *a=*a^*b; *b=*a^*b; *a=*a^*b;}用该交换函数实现两个数的交换,要注意的问题是a,b两个数,不能是从同一个地址上取数,不然会导致该数变为0的;在做Partion快速算法中一个子函数时就出现了该问题。int partion(int a[],int p,int r){ i
2014-03-24 21:10:16 613
转载 Wireshark看127.0.0.1数据包
当客户端和服务器都在自己的机器上时,用wireshark拦截packet当客户端和服务器都在自己的机器上时,用wireshark是看不到发送和接受到的数据包的.一种方法是创建一个loopback网卡. 这个比较麻烦而且不一定有效.. 参见http://wiki.wireshark.org/CaptureSetup/Loopback如果你的电脑再局域网中, 也就是说是有网关服
2014-02-25 15:59:28 6533
原创 递归建立二叉搜索树
typedef struct Tree{ int value; struct Tree *left,*right;}Node,*ptrNode;void CreatBinTree(ptrNode &root,int key){ if(root==NULL) { ptrNode tmp=new Node; tmp->value=key; tmp->left=tm
2013-11-26 17:41:16 509
原创 输入一个链表,从尾到头打印链表每个节点的值
输入一个链表,从尾到头打印链表每个节点的值typedef struct ptrNode{ int value; ptrNode* next;}Node,*ptrLink;ptrLink BinaryCreat(int* a,int len){ ptrLink head=new Node; ptrLink ptr,tmp; ptr=head; ptr->v
2013-11-24 19:29:39 420
原创 重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并输出它的后序遍历序列。输入:输入可能包含多个测试样例,对于每个测试案例,输入的第一行为一个整数n(1输入的第二行包括n个整数(其中每个元素a的
2013-11-24 18:55:46 415
原创 汉诺塔
void Hano(char a,char b,char c,int n){ if(n<0) return; if(n==1) printf("move %c to %c\n",a,c); else { Hano(a,c,b,n-1); printf("move %c to %c\n",a,c); Hano(b,a,c,n-1);
2013-11-20 22:08:35 612
原创 堆排序
void Swap(int &a,int &b){ int tmp; tmp=a; a=b; b=tmp;}void Max_Heap(int a[],int i,int len){ int left,right,large; left=2*i+1; right=2*i+2; if(a==NULL||len<1) return; if(a[i]<a
2013-11-20 21:42:48 628
原创 字符串过滤压缩
看了很多博客,发现今年去华为机试的人,同一批的题目大多都是相同的,不同批次的题目大多不相同。当然,这些题目可能在以前出现过,去年,或者前年等。所以,多看一下不同人的题目,对自己是有好处的!说一下机试的打分情况。机试的打分是通过测试用例的成功数量来给分的,每个用例20分,一共16个用例(共三道题,共320分=60(题一)+100(题二)+160(题三)),通过一个用例,给20分,通过两个,给
2013-11-18 21:54:13 703
原创 空格替换
题目描述:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。输入:每个输入文件仅包含一组测试样例。对于每组测试案例,输入一行代表要处理的字符串。输出:对应每个测试案例,出经过处理后的字符串。样例输入:We
2013-11-16 09:41:57 429
原创 在一个二维数组中查找一个数
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。int juge(int *matrix,int xlen,int ylen,int key) //xlen 表示列的数,ylen表示行数{int x,y,flag;x=xlen-1;y=0;flag=0;
2013-11-16 09:07:58 575
原创 static
题目来自“C语言深度解剖”:对static int j;void fun1(){ static int i=0; i++;}void fun2(){ j=0; j++;}void main(){ int k=0; for(k=0;k { fun1();fun2(); }}问i
2013-11-12 19:10:08 660
原创 算法学习 数组排序
来自庞果网:给定一个包含1-n的数列,我们通过交换任意两个元素给数列重新排序。求最少需要多少次交换,能把数组排成按1-n递增的顺序,其中,数组长度不超过100。例如:原数组是3,2,1, 我们只需要交换1和3就行了,交换次数为1,所以输出1。原数组是2,3,1,我们需要交换2和1,变成1,3,2,再交换3和2,变为1,2,3,总共需要的交换次数为2,所以输出2。
2013-10-25 16:30:21 544
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人