一日一算法
文章平均质量分 63
onelight1997
A GOOD MAN!
展开
-
一个矩形块中有多少个正方形
问题描述:一个矩形坐标为(x,y)x,y都为正整数,求这个矩形中有多少个正方形,正方形的坐标也为正整数,正方形的边不一定平行与矩形的边。code: 1 #include 2 using namespace std; 3 4 int SquareNumber(int x,int y) 5 { 6 if(x 7 int result=0,原创 2012-10-14 18:03:47 · 3095 阅读 · 0 评论 -
一瓶可乐一块钱,三个空瓶子可以换一瓶可乐,如果现在有m块钱,能换多少瓶可乐。
问题描述:一瓶可乐一块钱,三个空瓶子可以换一瓶可乐,如果现在有m块钱,能换多少瓶可乐。代码: 1 #include 2 using namespace std; 3 4 int DrinkNum(int m) 5 { 6 int result=m,temp=0; 7 while(m!=0) 8 { 9原创 2012-10-12 19:10:33 · 4769 阅读 · 0 评论 -
查找一个数是否存在于一个数组中。该数组分两段有序,第一段的数都大于第二段的数。
问题描述:查找一个数是否存在于一个数组中。该数组分两段有序,第一段的数都大于第二段的数。要求:时间复杂度为O(logn)空间复杂度为O(1);示例:6,7,8,9,1,2,3,4,5 1 #include 2 using namespace std; 3 4 bool ExistofNum(int *array,int n,int num) 5 { 6原创 2012-09-21 21:44:28 · 2550 阅读 · 0 评论 -
数组排序
题目描述:一个未排序整数数组,有正负数,重新排列使负数排在正数前面,并且要求不改变原来的正负数之间相对顺序 比如: input: 1,7,-5,9,-12,15 ans: -5,-12,1,7,9,15 要求时间复杂度O(N),空间O(1) 。代码:#include void sortarray(int *array,int n){ if(array==NULL)原创 2012-09-18 16:48:48 · 1485 阅读 · 0 评论 -
判断一个字符串是不是回文数
问题描述:判断一个字符串是不是回文数,比如abcdcba和abccba就是回文数。代码: 1 #include 2 #include 3 4 #define MAX_SIZE 100 5 6 bool IsLoopString(char* str) 7 { 8 if(str==NULL) return false; 9 i原创 2012-09-27 20:52:17 · 5505 阅读 · 0 评论 -
左旋转字符串
问题描述:左旋转字符串。input:abc 2 output:cabintput:abcd 2 output :cdab代码: 1 #include 2 using namespace std; 3 4 void LeftRotateString(char **str,const int m) 5 { 6 if(m==0) return;原创 2012-09-28 08:54:52 · 1540 阅读 · 0 评论 -
查找二叉查找树第N大的数
问题描述:查找二叉查找树第N大的数代码:#include#includetypedefstruct BSTreeNode{int Value;struct BSTreeNode *pLeft;struct BSTreeNode *pRight;}*pBSTreeNode,BSTreeNode;void FindNthMax(pBSTreeNode root,原创 2012-08-30 14:28:13 · 3231 阅读 · 0 评论 -
反转单链表的值,但不改变链表指针地址
描述:反转单链表的值,但不改变链表指针地址,一个单链表比如1->2->3->4,在不改变指针地址的情况下把链表变为4->3->2->1. 代码: #include #include typedefstruct Node{int value;struct Node *next;}*pNode; void ReverseValue(pNode原创 2012-08-30 13:26:27 · 2017 阅读 · 0 评论 -
随机数生成函数 srand() rand()
转载于http://hi.baidu.com/petrel_thy/blog/item/311aa4366ac9aad1a3cc2be3.html如果srand每次输入的数值是一样的,那么每次运行产生的随机数也是一样的,srand(n)for(10)rand()也就是说,以一个固定的数值作为种子是一个缺点。 通常的做法是 以这样一句代码srand((unsigned) ti转载 2012-05-09 23:56:38 · 1595 阅读 · 0 评论 -
腾讯广研-笔试题(1)2012-3-27
今天去腾讯广州笔试去了,结果很悲剧。不过没关系,只有在不断的被鄙视的过程中才能茁壮成长,加油!1.输入:一个字符串,其中包括四种运算符:+、-、*、/和一些整数(0-9)。PS:没有括号。 输出:运算结果(double)。实例:输入1*2+4/2-4+5 输出:5.0分析:先把乘除运算做完,把减运算变成后面那个数的负数,并把前三种运算的结果输入到栈中。后面的就全部是加运算了。代原创 2012-03-27 23:00:51 · 2202 阅读 · 1 评论 -
在一个字符串中删除另一个字符串中存在的字符
输入:两个字符串,一个是源字符串,被删除的。一个是”删除字符串“输出:被删除后的源字符串#include #include using namespace std;void DelChars(char *strsource,char *strdelete){ if((strsource==NULL)||(strdelete==NULL))原创 2012-03-28 21:27:29 · 1576 阅读 · 0 评论 -
腾讯广研-笔试题(2) 2012-3-27
2.输入:一个有序数组和数组大小 输出:一个有序二叉树(二叉查找树又叫二叉排序树)它只是说是有序二叉树没有说是平衡的,当且当做是平衡的吧!#include using namespace std;struct BTreeNode{ int val; struct BTreeNode *left; struct BTreeNode *right;原创 2012-03-27 23:54:34 · 2430 阅读 · 0 评论 -
一日一算法
不知道从哪天之前,都在说文档没用,很浪费时间,没有这个必要; 不知道哪天听见许老师说,要学会要在写代码的同时学会写文档; 不知道哪天看见这样一句话:做简单的事,并始终如一! 但知道是哪天开始了我简单的事情,那就是每天一算法,每天一项目描述。把自己做过学过的东西记下了,一点一滴的累积起来! 加油!今天是第一天,今天是2012年3月25号!原创 2012-03-25 22:20:56 · 657 阅读 · 0 评论 -
字符串排序
问题描述:给一段字符串排序,存在一个key字符串,两个字符串中包含‘a’至‘z’的小写字母。首先按照key对input的字符串进行排序,然后对剩下的按字符大小排序。Code: 1 #include 2 3 void keysort(char *str,char *key) 4 { 5 if(str==NULL) return; 6 int原创 2012-09-25 13:58:43 · 1948 阅读 · 1 评论