自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除