自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zzran的专栏

学会等待。。。

  • 博客(140)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

转载 用c/c++写一个堆栈管理程序

这是一个面试题,那个狗日的面试官让我当场写出来,我要是能写出来也得累出血了。感谢原文作者的贡献,文中还有小错误,会尽快改正。头文件:#ifndef _KSMFMemory_#define _KSMFMemory_#ifndef KCAHR #define KCHAR char#else #define KCHAR short#endif#ifdef _cplusplus

2012-09-27 11:06:37 1619

转载 求矩形交集的面积

转载牛人的文章并不是为了假借他人的才能来炫耀自己,个人是为了能够在想起该问题的时候看着方便,不用到处去找,积累下来。以后是原文的出处,此人为牛人。http://blog.csdn.net/v_july_v/article/details/7974418#comments在一个平面坐标系上,有两个矩形,它们的边分别平行于X和Y轴。其中,矩形A已知, ax1(左边), ax2(

2012-09-22 21:07:37 2862

原创 原有一组数据区间段,给定一个区间,判断此区间是否和其他区间相交

此题为海豚浏览器的一个笔试题,当时做的时候感觉挺难,没想出来,后来考完试回来一想,觉得自己太粗心大意了,既然一个不太难的题都没有想到,追悔莫及。用一句话来表达自己对编程的理解:coding as saying~例如给定三个区间:(2,4)   (5,6)  (7,9)然后又输入一个区间 :(3.5,5),则可以断定此区间和上述区间中 (2,4)有相交区间。在此多说一句,此问题我们不考虑

2012-09-22 20:28:23 8043

原创 找出字符串中最长的数字字符串

要求,给定一串字符串,找出其中最常的数字字符串。比如,给定字符串abc123bcd234567d,则最终结果输出为234567。#include#include#includechar* get_max_num_string(char *str){ char *begin; char *temp,*final; int count; int maxLen=0; begin

2012-09-22 19:19:33 1646

原创 给定一个数字的十进制形式,求出用二进制表示次数时,其中bit位为1的个数

此问题我知道有两种的解答方法,一个是通过移位,一个是通过&。1,#includevoid main(){ int a=16; int count=0; while(a>0) { if(a&0x1==1) count++; a=(a>>1); } printf("%d\n",count);}上面是通过移位的形式,很容易理解。2,是通过与的形式,即把va

2012-09-22 19:04:14 1768

转载 给定一整型数组,若数组中某个下标值大的元素值小于某个下标值比它小的元素值,称这是一个反序。

感谢此博客:http://blog.csdn.net/luno1/article/details/8001892作者,作者提供了很好的解题思路,下面给出作者所提到的两种方法的代码,从中可以看到如果不应用归并排序,那么时间复杂度就是1+2+....+n-1,即为O(n^2).而第二种方法就是O(nlogn).下面给出代码。通过对两个方法的同时调用,得到的结果是一致的,说明应用归并排序求得的结果正确。

2012-09-22 15:33:31 2712

原创 给定字符串,要求除去字符串中重复出现的字符

请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。比如字符串“abacacde”过滤结果为“abcde”。笔试会碰到这种题目,有的题目要求会多一条,就是不许重新分配存储空间来临时存储字符串,即节省空间的原则。综合两个博客的研究结果(http://blog.csdn.net/luno1/article/details/7945227,http://blog.csd

2012-09-22 13:23:08 2815

原创 一个数组里,数都是两两出现的,但是有三个数是唯一出现的,找出这三个数。

这个题我用的是trie索引树,不知道对不对,但是我写完程序运行后结果是对的,先贴上程序,一起探讨:#include#include#include#define branch_num 10typedef struct trie_node{ int count; struct trie_node *child[branch_num];}TrieNode,*TrieTre

2012-09-22 10:32:53 1749

原创 求文件中单词出现的频数

一、主体思路:   (1)建立一个hash表;    --(a) hash函数:除留取余法,H(key) = key % size;    --(b) 解决冲突的方法:链地址法,将所有映射到相同索引的字符串用链接指针连接在一起。  (2)读取文本文件word.txt,每次读取一行,然后分隔每个单词,插入到hash表,插入过程中会对单词出现次数统计;

2012-09-19 21:30:25 2013

原创 输入一个安升序排列的数组和一个数,在数组中找两个数,使它们的和正好是给定的那个数。o(n)

此题要求在O(n)时间内求得结果,具体思路为,设定两个指针,一个指针first指向数组的第一个元素的位置,另一个last指向数组最后一个元素的位置。首先计算sum=*first+*last,将计算的结果和给定的数进行比较,假设给定的数位dest,如果sum大于dest,那么可以根据给定数组按升序排列的性质分析出,肯定是因为数组的最后一个元素的关系,要找一个比last指向的元素小的数,那么指针就要向

2012-09-19 21:28:39 4938

原创 反转句子中单词的顺序。

题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student. a am I”。一个比较好的思路是将给定句子中的所有字母进行反转 成:!margorp xunil evol I,然后再对给定的每个单词进行反转,程序:#include

2012-09-19 21:27:15 3423

原创 sizeof问题

void Func(char str_arg[100]) {       printf("%d\n",sizeof(str_arg));  }  int main(void)  {      char str[]="Hello";    printf("%d\n",sizeof(str));  printf("%d\n",strlen

2012-09-19 21:26:18 2319

原创 从1到n的平方,按照从小到大,顺时针打印

首先看个例子,就是n=3的时候, 1    2     3                                                    8    9     4                                                    7    6      5然后是n=4的时候,

2012-09-19 21:24:08 2007

原创 给定先序:ABCDEFGHIJK 给定中序:CBEDGFAHJIK 首先分析上述给定的先,中序,首先得知先序遍历的肯定是二叉树的根节点:A,在看中序遍历,根据中序遍历的原理可知,在A左边的一定全部属于

给定先序:ABCDEFGHIJK给定中序:CBEDGFAHJIK首先分析上述给定的先,中序,首先得知先序遍历的肯定是二叉树的根节点:A,在看中序遍历,根据中序遍历的原理可知,在A左边的一定全部属于A的左子树,在其右边的肯定属于其右子树。再看序列,先序:BCDEFG,中序:CBEDGF,可以把这两个序列作为遍历一个树的结果,那么同理可知B肯定是此树的根节点,二C属于此树的左子树部分,

2012-09-19 21:23:01 2240

原创 使用trie树统计单词出现的频数

首先给出trie树的原理:trie树是以空间换取时间,利用字符串的公共前缀来降低查询开销。举个例子:add,addition,这两个单词,他们的公共前缀是add,应用trie数进行存储的时候,add只会被存储一次,如果以add为前缀的单词很多,这样就节省了很多的存储空间。trie树的性质:1,字符种数决定trie中branch的个数,以单词为例,共有26个英文单词,那么每个节点中会有26个

2012-09-18 16:05:14 3846 2

转载 一个字符串转化为整数

http://blog.csdn.net/v_JULY_v/article/details/6347454(原博文地址)将字符串转化成数字要考虑很多问题:1,字符串是否为空;2,字符串的开头有可能不是数字的字母形式,而是‘+’或者'-';3,字符串中有可能不是数字对应的字母;4,字符串转换之后有可能越界。下面给出代码:比较欣赏的是其中的assert.#include#include

2012-09-16 21:41:26 537

转载 判断两个字符串是否匹配

原文地址:http://blog.csdn.net/v_JULY_v/article/details/6347454。同时也向大家推荐这个文章的博主,技术大牛。如果两个字符串中所含字符的个数和对应的字符都相等,我们说这两个字符串匹配,比如:abcdea,aabcde。则这两个字符串相等。特别喜欢这个方法,故转到我空间来,以便记录。#include #include usin

2012-09-16 21:32:22 4676

原创 求两个单链表的交点

这个面试经常会碰到的题目,判断两个单链表是否相交。个人理解的也不是很深,零零散散的从网上找答案,并把所偶看到的整理了一下,希望对大家有帮助。判断两个单链表是否相交共有三种情况:1,两个单链表都没有环。2,两个单链表中 一个有环,一个没有环。3,两个链表都有环。看第一种情况,连个单链表相交,只能是y型相交,不可能是x型相交,理由如下,有两个链表,La,Lb,他们的交点设为p吧,假

2012-09-16 16:55:39 8417

原创 求旋转数组的最小元素(把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3, 4, 5, 1, 2}为{1, 2, 3

求旋转数组的最小元素(把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1。解题思路:首先,想到得思路肯定是把这个数组进行右旋转(要理解旋转的概念,就是比如说:abcdef,要进行右旋2位,那么移动后的结果为efabcd)

2012-09-16 15:12:28 2308

原创 优酷土豆合一网题---构造函数和虚构函数的顺序

class B{public:B(){cout}~B(){cout}};struct C{public:C(){cout}~C(){cout}};class D:public B{private:C c;public:D(){cout}~D(){cout

2012-09-13 16:24:31 854

an efficient implemention of double array trie

这个是一个double-array的实现,就是用数组来存储trie,以减少空间的利用率。

2013-01-06

单词资源文件

用于海量数据处理的英文单词,大概在1m左右,没有太大的。

2012-12-27

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除