摘要: 原题: n个元素的集合{1,2,3,..., n }划分非空子集,有多少种分法? 例如,当n=4 时,集合{1,2,3,4}可以划分为15 个不同的非空子集如下:{{1},{2},{3},{4}},{{1,2},{3},{4}},{{1,3},{2},{4}},{{1,4},{2},{3}},{{2 阅读全文
posted @ 2016-06-05 17:18 blcblc 阅读(1975) 评论(0) 推荐(0)
摘要: 照着例子写了一个简单的libevent hello world代码: Makefile的内容: 2016.09.28 新加的内容 以下是丰富些的Makefile,其中 $@ 代表目标, $^ 代表所有依赖, $< 代表第一个依赖。 运行程序: 显示经过1秒,显示timeout,然后Ctrl+C之后, 阅读全文
posted @ 2016-06-05 16:35 blcblc 阅读(839) 评论(0) 推荐(0)
摘要: 可以将信号注册进pipe管道的写端,通过对读端的监听,来实现统一事件源。 Makefile的文件内容: 编译出服务器程序之后,运行服务器: 运行客户端: 可以看出,客户端的连接请求得到服务器端的响应;发出的内容"a"在服务器端没有处理和展现。 使用向服务器发信号,得到处理;服务器端直接Ctrl+C也 阅读全文
posted @ 2016-06-02 23:25 blcblc 阅读(1506) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/data-stream-as-disjoint-intervals/ 阅读全文
posted @ 2016-05-31 23:58 blcblc 阅读(497) 评论(0) 推荐(0)
摘要: https://leetcode.com/problems/intersection-of-two-arrays-ii/ 阅读全文
posted @ 2016-05-30 17:48 blcblc 阅读(225) 评论(0) 推荐(0)
摘要: 因为et模式需要循环读取,但是在读取过程中,如果有新的事件到达,很可能触发了其他线程来处理这个socket,那就乱了。 EPOLL_ONESHOT就是用来避免这种情况。注意在一个线程处理完一个socket的数据,也就是触发EAGAIN errno时候,就应该重置EPOLL_ONESHOT的flag, 阅读全文
posted @ 2016-05-28 21:31 blcblc 阅读(9224) 评论(1) 推荐(1)
摘要: 针对epoll api的两种触发模式,lt和et,仿照一些例子写了代码进行实验。 Makefile文件: 以上程序有个问题,就是在端口被占用时候,因为bind失败,会assert失败然后core dump. 在重复测试时候,可以换个端口。 首先,注释掉et,使用lt: 运行 ./epoll_test 阅读全文
posted @ 2016-05-23 18:51 blcblc 阅读(2115) 评论(0) 推荐(3)
该文被密码保护。 阅读全文
posted @ 2016-05-22 17:32 blcblc 阅读(599) 评论(1) 推荐(0)
摘要: 今天,为了安装RabbitMQ,需要安装Erlang,中间遇到了一些坑,记录下来。 1. 下载Erlang安装包 http://www.erlang.org/downloads http://erlang.org/download/otp_src_18.3.tar.gz 2. otp_src_18. 阅读全文
posted @ 2016-05-20 15:54 blcblc 阅读(1652) 评论(0) 推荐(0)
摘要: 首先,中位数问题可以归结为求 K=n/2的 第K小元素,并无明显区别。 第一种方法,用MaxHeap,大小为K的大顶堆,能够求出最小的K的元素,复杂度为O(n*logK). 当K较大时,复杂度会较高。其实只需要求出第K小,而不是全部前K的序列,可以有更优化的方式。(大顶堆的方法就不贴代码了) 第二种 阅读全文
posted @ 2016-05-03 23:57 blcblc 阅读(653) 评论(0) 推荐(0)