- 博客(10)
- 收藏
- 关注
原创 [MIT6.S081] Lab: Xv6 and Unix utilities
版本的问题,参考下方命令完成,同时命令中的版本只在Ubuntu20.04版本中存在,因此比较建议使用Ubuntu20.04版本。每个进程读取左侧管道的第一个数字n作为当前进程的素数筛,n的倍数会被排除,未被整除的数字传递至下一个进程,不断循环重复。函数接收一个指向左侧管道的指针pl,每次尝试从左侧管道读取一个数,若成功读取则fork子进程递归调用。函数,使用新创建的右侧管道,同时父进程传递经过筛选的不可被当前素数整除的数至右侧管道。等待子进程执行完毕后再打印从子进程接收到的信息,实现完整的通信。
2024-08-14 18:27:43
837
原创 Leetcode_Master Day9
栈和队列都是线性表。使用栈结构存储数据,讲究,即最先进栈的数据,最后出栈;使用队列存储数据,讲究,即最先进队列的数据,也最先出队列1.都是线性结构。2.插入操作都是限定在表尾进行。3.都可以通过顺序结构和链式结构实现。4.插入与删除的时间复杂度都是O(1),在空间复杂度上两者也一样。5.多链栈和多链队列的管理模式可以相同。1.删除数据元素的位置不同,栈的删除操作在表尾进行,队列的删除操作在表头进行。2.应用场景不同;
2024-02-02 23:15:20
1948
原创 Leetcode_Master Day8
字符串处理主要涉及双指针、反转模拟和kmp算法,双指针的处理与先前的数组中的双指针类似,反转模拟需要理清楚对字符串都成立普适规律逻辑,kmp需要理解next数组的含义,并理解前后缀处理的过程,总体来说kmp理解难度较大,其他部分也需要及时巩固。双指针法主要应用在数组、链表、字符串中,在day6中的哈希表部分也是可以进行限制减小时间复杂度的有力方法,具体的分类情况大家可以参考卡哥的代码随想录总结。
2024-02-01 14:35:30
1342
1
原创 Leetcode_Master Day7
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须**修改输入数组**、使用 O(1) 的额外空间解决这一问题。
2024-01-31 15:16:10
1556
原创 Leetcode_Master Day5
又称散列表,它通过建立键值key与位置值value之间的映射,实现高效的元素查询。具体而言,我们向哈希表中输入一个键key,则可以在 O(1) 时间内获取对应的值value。
2024-01-29 22:27:05
820
原创 Leetcode_Master Day4
链表是一个十分特殊的动态结构,因此掌握链表的定义域操作方法十分重要,在链表处理中虚拟头节点快慢指针法十分常见,需要巩固练习,此外链表的子链与母链包含着相同结构,递归也经常使用,个人还需继续努力巩固。
2024-01-27 20:05:17
950
原创 Leetcode_Master Day3
链表是一种通过串联在一起的线性结构,每一个节点由两部分组成,一个是一个是(存放指向下一个节点的指针),最后一个节点的指针域指向null。链表的节点在内存中不是连续分布的双链表定义时指针域包含前后两个方向上的指针增删改查——添加节点、删除节点、修改节点、查询节点(按值查询/按位查询)
2024-01-26 11:28:24
889
1
原创 Leetcode_Master Day2
数组部分的题目主要包括了二分法双指针法模拟等主要技巧,双指针法包括快慢指针、左右指针和滑动窗口三种技巧,其中滑动窗口是个人需要去着重巩固的部分,两天的刷题收获颇丰,大家如果对算法有不同的见解欢迎评论交流。
2024-01-24 22:47:11
912
1
原创 Leetcode_Master Day1
题目链接34.在排序数组中查找元素的第一个和最后一个位置给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1, -1]。你必须设计并实现时间复杂度为O(log n)的算法解决此问题。
2024-01-24 01:11:17
827
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人