Algorithm
- 374. 猜数字大小 经典二分搜索
- 435. 无重叠区间 使用求解最大不重叠区间的算法求出最大不重叠区间,然后使用区间数量减去这个最大不重叠区间的数量,即为需要移除的最小的数量。求解最大不重叠区间:1)先对区间按照结束的位置进行升序排序 2)初始化上一个区间的结束位置为最小的start 3)找到当前结束最早的区间,保证其开始的位置>= 上一个区间的结束位置,并加入不重叠区间集合
- 452. 用最少数量的箭引爆气球 思路:找到最大的不重叠区间的数量,这里定义不重叠是端点也不能重叠,因为端点重叠在本题中也可以一箭射掉。这里主要需要注意的是,极端情况,即区间左端点可能是最小的整数。以为考虑端点不能重叠,要求curEnd<
interval[i][0]
, curEnd的初始值自然想到的是intevals[0][0]-1
;
Review
- Linux网络编程“惊群”问题总结: 惊群就是当多个线程或者多个进程在同事阻塞等待一个事件,如果这个事件发生,所有线程/进程都会被唤醒,但最终只有一个线程/进程能处理事件成功,这种性能浪费就是惊群。linux2.6版本后内核上解决了
accept
函数导致的惊群问题,但是select、poll或epoll 模型仍然存在,解决方案就是加互斥锁。 - 原来 8 张图,就能学废 Reactor 和 Proactor
用NAT(Network Address Translation) 穿透用来实现两个不互联的内网之间的p2p连接。例如A和B处于两个不同的局域网,那么A是不可能直接连到B的。A和B都是通过自己的NAT实现公网访问,因此A和B都能连接到公网地址C,则可以让C来实现NAT 穿透,交换以下A和B转换后的公网地址,从而实现A和B的点对点TCP通信。
Tips
- python
__import__(string)
方式不能动态加载 如lz4.block
这种带点的,需要使用importlib:
import importlib as imp
module=imp.import_module("lz4.block")
- c++ std::sort 排序
std::sort(array.begin(),array.end(),[] (int a, int b ) ->bool{return a<b;})
Share
想share一篇关于MySQL的MTR如何使用,以及如何使用dbgen,准备发在下个吧,这个拖了几周了。