posted at 2008.11.29 23:09 by Spoony
在转换中学习,在转变中进步。我的生活就要发生一轮转变,而这场转变我希望能迅速让我的生活安定下来。身边的朋友们不断地帮助我,使得我从来没有在这场转变中感到孤单,感谢他们对我的关心甚至是支持!
每次看到同学们陆续安定下来,曾经的团队成员陆续找到新的归宿,我都为他们感到高兴。同时还有没有找到归宿的同学们,我要为你们祝福!(同时也给我自己)
在这场从沿海到内地的大危机中,我们不得不牺牲一些机会而寻求一个安定。同时我想,能够经得住这次的风浪,也是对自身价值的一个好的证明。道路是曲折的,才刚开始,我们得学会一路走好。
posted at 2008.11.17 10:39 by Spoony

最近在找工作,才发现英语,特别是口语,在外企面试中是一道门槛。看来想进外企,英语这一关是绕不过去的了。
昨晚抽了点时间做了个方便学习英文的小东西。是一个超级轻量级的英语词库管理系统,把自己碰到的生词添加进来,温故而知新,最终熟烂于心,我觉得这应该是 Learning English 的一种比较好的方法吧。
目前仅完成了最重要的功能,添加、删除词汇和自动提示的查询功能。至于修改,先用手动来做吧,XML格式的词库一目了然。
该程序的运行需要安装 .net2.0 框架,程序下载:EnglishBase.zip (9.50 kb)
dotnet 框架下载:dotnet framework 2.0(可选)
posted at 2008.11.15 20:50 by Spoony
1.河岸的距离
两艘轮船在同一时刻驶离河的两岸,一艘从A驶往B,另一艘从B开往A,其中一艘开得比另一艘快些,因此它们在距离较近的岸500公里处相遇。到达预定地点后,每艘船要停留15分钟,以便让乘客上下船,然后它们又返航。这两艘渡轮在距另一岸100公里处重新相遇。试问河有多宽?
分析与解答
当两艘渡轮在x点相遇时,它们距A岸500公里,此时它们走过的距离总和等于河的宽度。当它们双方抵达对岸时,走过的总长度等于河宽的两倍。在返航中,它们在z点相遇,这时两船走过的距离之和等于河宽的三倍,所以每一艘渡轮现在所走的距离应该等于它们第一次相遇时所走的距离的三倍。在两船第一次相遇时,有一艘渡轮走了500公里,所以当它到达z点时,已经走了三倍的距离,即1500公里,这个距离比河的宽度多100公里。所以,河的宽度为1400公里。每艘渡轮的上、下客时间对答案毫无影响。
2.变量交换
不使用任何其他变量,交换a,b变量的值?
分析与解答
a = a+b;
b = a-b;
a = a-b;
posted at 2008.11.15 20:46 by Spoony
红衣男士先问:上周我关了卧房的灯,可是我能在卧房黑暗之前就上到床上。如果床离电灯的开关有10尺之远,我是怎么办到的?
蓝衣男士说:每次我阿姨来我的公寓看我时,她总是提早下了五层楼,然后一路走上来,你能告诉我为什么吗?
绿衣男士说:有什么字以“IS”起头,“ND”结尾,有“LA”在中间?
红衣女士说:有天晚上我叔叔正在读一本有趣的书,突然他太太把灯关掉了。虽然房间全黑了,他还是继续在读书。他是如何做到的?
绿衣女士说:今天早上我一只耳环掉到我的咖啡杯里头,虽然杯子都装满了咖啡,但是耳环却没湿,为什么?
蓝衣女士问最后一个问题:昨天,我父亲碰到下雨,他没带伞也没带帽子,他的头上没有用任何东西遮雨,他的衣服全湿了,但是他头上没有一根头发是湿的,为什么?
分析与解答
1.在解这个问题时,大部分的人都会有个不必要的假设:认为关灯的时间是在晚上,但是在题目中并没有这么说。关灯后房间并没有黑掉,因为是白天。
2.错误的假设是:阿姨的身高和常人一样。事实上,她是侏儒,够不到电梯上她侄子那层楼的按钮。
3.错误的假设是:在三对字母之间还有其他字母。那个字就是“ISLAND”。
4.错误的假设是:认为人只能用眼睛才能看书。那位男士是盲人,他以点字来读书。
5.错误的假设是:认为“咖啡”一定指的是液体的咖啡。耳环掉入干的咖啡罐中,自然不会弄湿。
6.错误的假设是:父亲头上有头发。父亲是秃头,因此没有头发可被淋湿。
posted at 2008.11.15 15:19 by Spoony
桌子上有三张扑克牌,排成一行。现在,我们已经知道:
1.K右边的两张牌中至少有一张是A。
2.A左边的两张牌中也有一张是A。
3.方块左边的两张牌中至少有一张是红桃。
4.红桃右边的两张牌中也有一张是红桃。
问:这三张是什么牌?
分析与解答
这三张牌,从左到右依次为:红桃K、红桃A和方块A。
先来确定左边的第一张牌。从前提1得知这张牌是K;从前提4得知这张牌是红桃;所以,这张牌是红桃K。再来确定右边的第一张牌。从前提2得知这张牌是A;从前提3得知这张牌是方块;所以,这张牌为方块A。最后,来确定当中的一张牌。从前提2得知,或者这张牌是A,或者左边第一张是A;又从前提1得知左边第一张是K,所以,当中这张牌是A。同理,从前提4得知,或者当中这张牌是红桃,或者右边第一张牌是红桃;但由前提3可知右边第一张是方块,这样,即可确定,当中这张牌是红桃。
posted at 2008.11.7 13:31 by Spoony
最近参加校园招聘,笔试是必要的。先热身,把数据结构的基础东东拿出来 Review 一下。
线性表的链式存储结构:
链式存储表示:
typedef struct LNode{
ElemType data;
Struct LNode *next;
}LNode,*LinkList;
基本操作在链表上的实现:
(1) 单链表的取元素算法(经典)
Status GetElem_L(LinkList L, int i,ElemType &e)
{
p=L->next; j=1;
while(p && j<i)
{
p=p->next;++j;
}
if(!p || j>i) return ERROR;
e=p->data;
return OK;
}
算法分析:
基本操作是: 比较 j 和 I, 并把指针后移 , 循环体执行的次数 , 与被查元素的位置有关 . 假设表长为 n, 如果 1<=i<=n, 那么循环体中语句的执行次数为 i-1. 否则次数为 n 所以时间复杂度为 O(n).
(2) 插入元素算法
Status ListInsert_L(LinkList &L, int i,ElemType e)
{
p=L;j=0;
while(p&&j<i-1)
{ p=p->next;++j}
if(!p || j>i-1)
return ERROR;
s = (LinkList)malloc(sizeof(LNode));
s->data = e;
s->next = p->next;
p->next =s;
return OK;
}
(3) 删除元素算法
Status ListDelete_L(LinkList &L, int i,ElemType &e)
{
p=L;j=0;
while(p &&j<i-1)
{p=p->next;++j}
if(!p ||j>i-1)
return ERROR;
q=p->next;
p->next =q->next;
e =q->data;
free(q);
return OK;
}
算法分析 :
插入和删除算法 , 都要先找到第 i-1 个节点 , 所以时间复杂度为 O(n);
(4) 单链表的建立算法
void CreateList_L(LinkList &L,int n){
L =(LinkList)malloc(sizeof(LNode));
L->next = null;
for(i = n;i>0;--i){
p =(LinkList)malloc(sizeof(LNode));
scanf(&p->data);
p->next = L->next;
L->next =p;
}
}
算法分析 :
按照逆序循环输入 n 个数据元素的值 , 建立新节点 . 并插入 . 因此算法的时间复杂度为 O(n).
posted at 2008.11.5 15:21 by Spoony
好久没有更新博客,如果你现在登录,你会看到我的博客多了一个关键字“耍宝精选集”。你所想的正是我下面要说的了。
耍宝(ShuaBao.Net)已经上线两个月了,这段时间里面我几乎是每天更新。一方面搜罗整理世界上的新鲜、有趣、不可思议的事情,一方面从中得到灵感的源泉。经过持续的更新,耍宝现在已经拥有了数十篇从全球范围内以某种口味和视角甄选的文字、图片以及视频材料。而其中的某些内容是我个人所喜爱的,我会进一步精选并转载到我的这个个人博客,内容版权归属耍宝及其作者所有。
posted at 2008.11.5 15:06 by Spoony

这是一组前不久揭晓的 2008 年度最佳野生动物摄影作品,摄影师们分享了他们没日没夜地拍摄到的成千上万的照片中的最好的照片给我们。上面一张是青蛙与蛇的生死较量。青蛙想通过尽量延长搏斗时间来让蛇放弃,而蛇却丝毫没有将死死咬住青蛙的嘴松动。
More...