剑指offer
Forever_ZhangKe
这个作者很懒,什么都没留下…
展开
-
【C++迭代器】迭代器失效问题
问题描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。这是剑指offer上的一道经典习题,我们首先可以想到的解决方案是:再创建一个临时数组把偶数先存放起来,然后把临时空间的数据插入到原数组。代码如下:void reOrderArray(vector<int> ...原创 2018-04-07 14:35:16 · 284 阅读 · 0 评论 -
【剑指offer】打印链表倒数第k个元素
针对该问题提供4种思路:思路1:采用快慢指针,初始都指向头结点,让指针p先走k个结点,然后p和q一起走,p->next为NULL返回q。思路2:利用栈结构,让链表先入栈,然后顺序找到第k个结点。思路3:对链表进行头插法逆置,然后顺序遍历找到第k个结点。思路4:通过定位法,首先遍历数组,找到结点的数量n,然后得到倒数第k个结点的位置为n-k+1.思路1的代码实现 ListNode* Fi...原创 2018-04-07 19:52:40 · 182 阅读 · 0 评论 -
【Linux】如何创建一个守护进程?
如何创建一个守护进程? 需要最主要的是:为什么会需要两次fork()?因为,第一次fork()将父进程的会话期、进程组相关信息进行了copy,所以这时候的子进程还不能算是独立进程组之外的进程,所以需要将子进程独立处理,所以调用setsid()先判断子进程是否是进程组的组长,如果是之前进程组的组长,那么调用失败,否则调用成功,子线程成为新的进程组组长。这时候调用fork(),将父进程退出...原创 2018-09-12 15:23:10 · 371 阅读 · 0 评论 -
【面试题】求链表的环入口点
环入口点:我们设A是链表的起点,B是环的入口点,C是环内快慢指针的相遇点。两个快慢指针定义为slow和fast.slow走的路程:A->B->C;fast走的路程:A->B->C->B->C;2*(x+y)=x+y+z+y =》 x=z;即A->B的路程等于C->B的路程;//环的入口点void Fi...原创 2018-09-14 10:42:40 · 466 阅读 · 0 评论 -
《人月神话》读书笔记
序言首先谈一下书的作者Frederick P.Brooks,Jr.是北卡罗来纳大学 Kenan-Flagler商学院的计算机科学教授,北卡来罗来纳大学位于美国北卡来罗来纳州的查布尔希尔。Brooks 被认为是“IBM 360系统之父”,他担任了 360 系统的项目经理,以及 360 操作系统项目设计阶段的经理。凭借在上述项目的杰出贡献,他、Bob Evans 和Erich Bloch 在 19...原创 2018-09-15 13:44:50 · 239 阅读 · 0 评论