- 博客(2)
- 收藏
- 关注
原创 【解题笔记】CSAPP:shell lab踩坑记
顺带一提,由于竞赛这件事并不是一定会被trace的检查发现,有概率我们想要的进程刚好跑赢了,所以即使拿到了满分,也不一定说明代码就写对了。在writeup里,指定了对于kill指令,进程与进程组明确的格式区分,但十分容易忽略的是,在处理SIGINT和SIGTSTP是,我们需要向整个前台进程组,都发送对应的信号。另外一点需要注意的是,我们必须要加入WNOHANG这个选项,因为当后台子进程未结束的时候,我们的shell不应该停下,应该继续处理其他进程,所以需要通过WNOHANG的指定,来退出循环。
2023-12-07 00:00:00
212
原创 【解题笔记】LeetCode 只出现过一次的数字
接下来是一个重要的事实:我们如果把数字的各个位数分别累加,最后得到一个数组 sum[32],考虑到若干的数出现三次的事实,那么sum中的元素对三取余,那些出现三次的数会被消除,只剩下我们的目标数字的各个位数!那这道题就迎刃而解,我们只需要把所有元素全部异或一遍,出现两次的数字两两对消,最后的结果就是答案。当num的当前位为1,我们需要更新。要寻求这两类数的划分,我们可以观察异或的结果:我们从低到高看,第一个1,就代表着两者二进制表示中的一个不一样的数,用这个数作为标志,我们就可以把全部的数划分成两类。
2023-10-17 13:53:57
61
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人