摘要: 题目:数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字。分析:这是一道广为流传的面试题,包括百度、微软和Google在内的多家公司都曾经采用过这个题目。要几十分钟的时间里很好地解答这道题,除了较好的编程能力之外,还需要较快的反应和较强的逻辑思维能力。看到这道题,我们马上就会想到,要是这个数组是排序的数组就好了。如果是排序的数组,那么我们只要遍历一次就可以统计出每个数字出现的次数,这样也就能找出符合要求的数字了。题目给出的数组没有说是排好序的,因此我们需要给它排序。排序的时间复杂度是O(nlogn),再加上遍历的时间复杂度O(n),因此总的复杂度是O(nlogn)。接下来我们试着看看 阅读全文
posted @ 2012-02-21 14:41 Never To Say Impossible 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 单向冒泡排序void BubbleSort(int Iarray[], int n){ int i = 0, j = 0; int flag = 1; for (i = 0; i < n - 1; i++) { flag = 1; for (j = 0; j < n - i - 1; j++) { if(Iarray[i] > Iarray[i+1]) { int temp = 0; temp = Iarray[j]; Iarray[j] = Iarray[j+1]; Ia... 阅读全文
posted @ 2012-02-20 15:09 Never To Say Impossible 阅读(111) 评论(0) 推荐(0) 编辑
摘要: C语言标准库函数 原型声明:extern char *strcpy(char *dest,const char *src); 头文件:string.h 功能:把从src地址开始且含有NULL结束符的字符串赋值到以dest开始的地址空间 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 返回指向dest的指针。 典型实现 /********************** * C语言标准库函数strcpy的一种典型的工业级的最简实现 * 返回值: * 返回目标串的地址。 * 对于出现异常的情况ANSI-C99标准并未定义,故由实现者决... 阅读全文
posted @ 2012-02-17 22:18 Never To Say Impossible 阅读(354) 评论(0) 推荐(0) 编辑