yxCoding

I am a coder

有序链表的两路合并

将有序的两个链表合并成一个有序链表。 下面的程序分别实现了修改原链表和不修改原链表的方法

找数组中第k大的数

今天复习的时候遇到这个题目,觉得挺有意思,而且搜索一下,网上解法各式各样,从冒泡,选择..到快速排序,堆排序。我不是想得到效率最高的算法,只是想练习一下。

KMP字符串匹配算法笔记

网上有很多解释KMP算法的文章, A_B_C_ABC 的这篇很详细,反复看了好几遍,总算理解了个大概,但是总觉得没那么爽快。其实,一种算法各人有各人的理解方法,找到适合自己理解的才容易记住。下面是我对这个算法的一些理解:

在网上看到的一道智力题

题目是这样的:

U2合唱团在17分钟内得赶到演唱会场,途中必需跨过一座桥,四个人从桥的同一端出发,你得帮助他们到达另一端,天色很暗,而他们只有一只手电筒。一 次同时最多可以有两人一起过桥,而过桥的时候必须持有手电筒,所以就得有人把手电筒带来带去,来回桥两端。手电筒是不能用丢的方式来传递的。四个人的步行 速度各不同,若两人同行则以较慢者的速度为准。Bono需花1分钟过桥,Edge需花2分钟过桥,Adam需花5分钟过桥,Larry需花10分钟过桥。 他们要如何在17分钟内过桥呢?

答案:Bono和Edge先过桥,然后Bono回来(时间为3分钟); Larray和Adam过桥,Edge回来(时间为12分钟); 最后Bobo和Edge过桥(时间为2分钟);所以总共为17分钟

这个问题挺有意思,所以我用程序穷举了一下所有可能: