- 博客(37)
- 收藏
- 关注
原创 MIT 6.S081课程笔记0——基础的系统调用和Shell
每个进程都有自己独立的文件描述空间,因此如果两个进程都打开一个文件,会得到相同数字的文件描述符,但是。shell通常指的是命令行接口。系统调用,这个系统调用会从指定的文件中读取并加载指令,并且替代当前调用进程的指令。的文件中加载指令到当前的进程中,并替换了当前进程的内存,之后开始执行新加载的指令。,表示结束,因为C没有方法来确定一个数组的长度,所以为了告诉内核数组的结尾在哪,将。是一个C函数,但是这个函数那的指令实际上是机器指令,也就是说调用的。会拷贝当前进程的内存(包括指令和数据),并创建一个新的进程。
2025-10-14 02:16:38
647
原创 MIT 6.S081课程笔记0——关于课程
该笔记主要记录的是实验以外的学习笔记包括一些自己的想法以及不理解地方的查阅,如有不正确的地方,欢迎指出!
2025-10-12 22:58:15
472
原创 Protobuf vs. Thrift
使用Protobuf Buffers(protobuf)格式定义数据结构主要基于以下优势,使得其在分布式系统、微服务架构和高性能场景中成为首选:例子:二、强类型与跨语言支持 强类型约束:通过文件明确定义字段类型(如、),避免运行时类型错误。 多语言代码生成:支持自动生成Java、Go、Python、C++等代码,确保不同服务间数据模型等一致性。 代码生成原理:当使用编译器处理文件时,会为每个message生成对应的Java类。所有生成的类均为,字段均为,意味着不能修改已有字段的值,但是没有s
2025-10-11 14:29:17
842
2
原创 【反转链表专题】【LeetCode206.反转链表】&【LeetCode25.K个一组翻转链表】&【LeetCode234.回文链表】
【代码】【反转链表专题】【LeetCode206.反转链表】&【LeetCode25.K个一组翻转链表】&【LeetCode234.回文链表】
2025-07-14 10:18:46
321
原创 【LeetCode4.寻找两个正序数组的中位数】二分O(log(m+n))
【代码】【LeetCode4.寻找两个正序数组的中位数】二分O(log(m+n))
2025-07-10 10:35:07
172
原创 【LeetCode207.课程表】以及变式
如果已经修好的课程是通过另外一个数组传入的,也就是说,如果仅仅给出修课条件[[1,0]],那么0,1两门课都不能修,但是如果已经修好的课程数组为[0],那么0,1就都可以修。(限制:不存在循环依赖的情况,也就是0的先修课程是1,1的先修课程是0的情况)。
2025-07-09 20:30:07
360
原创 【LeetCode102.二叉树的层序遍历】vs.【LeetCode103.二叉树的锯齿形层序遍历】
【代码】【LeetCode102.二叉树的层序遍历】vs.【LeetCode103.二叉树的锯齿形层序遍历】
2025-07-05 13:26:25
221
原创 【LeetCode146.LRU 缓存】+ 带 TTL 的 LRU 缓存
【代码】【LeetCode146.LRU 缓存】+ 带 TTL 的 LRU 缓存。
2025-06-14 17:30:15
269
原创 给一个数组,可以一次调整一个数的位置,问最少次数变成循环数组(如51234、45123)
这么做的原因是,例如step=3时,1比2小,虽然1其实是在2的后面,但是不会影响上升子序列的长度,并且之后如果有比5小的数,就可以替换5,变成新的上升子序列如step=4时。如果[2,5]可以和之后的数字成上升子序列,那么[1,3]更可以,并且由于[1,3]更小,那么就可以和4,成为更长的上升子序列。我理解的题目的原意就是给定一个排列数组(出现1~n的所有自然数),问调整多少次数字的位置,可以变成循环数组。乍一看和上升子序列很像,但是题目说的是得到循环数组,因此可以称之为循环上升子序列吧hh。
2025-06-14 11:32:48
324
原创 文件的重命名C++
输入一个文件名列表,如果文件出现重名,需要进行重命名,如输入两个a.txt,第一个文件名为a.txt,第二个文件名为a.txt(1),以此类推。
2025-06-14 00:10:42
462
原创 随机地从n个数中选取m个数。要求每个元素被选中的概率相等。(C++)
【代码】随机地从n个数中选取m个数。要求每个元素被选中的概率相等。(C++)
2025-06-10 21:47:00
357
原创 【LeetCode253.会议室Ⅱ】
给你一个会议时间安排的数组intervals,每个会议时间都会包括开始和结束的时间intervals[i]=[starti,endi],返回所需会议室的最小数量。也可以每次都把已经结束的会议删除,最后的结果是每次队列大小的最大值。
2025-06-10 16:00:34
549
原创 【LeetCode108.将有序数组转换为二叉搜索树】vs. 【将二叉搜索树转换为有序数组】
由于二叉搜索树对于任意一个节点来说,左孩子小于父亲节点,右孩子大于父亲节点,因此可以直接通过中序遍历,得到升序数组。
2025-06-09 16:00:36
337
原创 【LeetCode5.最长回文子串】vs.【LeetCode516.最长回文子序列】
【代码】【LeetCode5.最长回文子串】vs.【LeetCode516.最长回文子序列】
2025-06-08 19:22:51
269
原创 【LeetCode287.寻找重复数】
给定一个包含n + 1个整数的数组nums,其数字都在[1, n]范围内(包括1和n),可知至少存在一个重复的整数。假设nums只有,返回。你设计的解决方案必须数组nums且只用常量级O(1)的额外空间。233。
2025-06-07 17:59:34
277
原创 使用pickle.loads()时报错没有cuda
因为目前跑的这台机子没有cpu,所以把device设置成了cpu。在网上找了一同说是load模型model的时候没有,可寻思着明明都设置了呀。这段代码底层会进入到torch下的storage.py。运行代码的时候当执行到这一行就报错没有cuda。
2024-03-30 10:36:43
657
3
原创 【第十四届蓝桥杯省赛C++组真题A组】AcWing 4997. 更小的数
【代码】【第十四届蓝桥杯省赛C++组真题A组】AcWing 4997. 更小的数。
2023-11-24 21:26:13
195
1
原创 【第十四届蓝桥杯省赛C++组真题A组】AcWing 4996. 平方差
【代码】【第十四届蓝桥杯省赛C++组真题】AcWing 4996. 平方差。
2023-11-24 20:41:39
203
1
原创 【位运算 gosper‘s hack】洛谷P1441 砝码称重
题目给的n的范围是20,因此我们可以用位运算来进行模拟,例如0...0(18个0)11表示只取了第0、1个砝码进行称重。是从n个砝码中去掉m个砝码,等价于从n个砝码中取n-m个砝码,并且砝码只能放在同一边,求从n个砝码中取出n-m个砝码最多能称出多少种重量。
2023-11-21 09:28:20
321
原创 【两个数的最大异或值】LeetCode421.数组中两个数的最大异或值 && LeetCode2935.找出强数对的最大异或值Ⅱ
给你一个整数数组nums,返回的最大运算结果,其中。28最大运算结果是 5 XOR 25 = 28.127每次都从最高位开始判断,判断当前位是否能取到1。具体来说,每次都取当前位以及它的高位,低位暂时不考虑,假设当前位为1,那么连同它已经判断过的位置所组成的数为x_next,那么如果该位可以取到1,那么就应该能找到num1,使得x_next ^ (num2 >> k) == (num1 >> k)否则该位就不能取到1,当前结果-1。
2023-11-14 00:38:34
497
原创 【LeetCode第371场周赛t3 2934. 最大化数组末位元素的最少操作次数】
题目要求nums1[n - 1]和nums2[n - 1]分别是nums1和nums2的最大值mx1、mx2(n为数组的大小),但交换只能发生在相同的下标之间,因此想要找到满足条件的情况,只需要分别讨论下标 n - 1 发生交换和 n - 1 不发生交换的两种情形,枚举0 ~ n - 2 如果不满足nums1[n - 1]和nums2[n - 1],那么就进行交换。交换 nums1[4] 和 nums2[4] 的值,nums1 变为 [2,3,4,5,4] ,nums2 变为 [8,8,4,4,9]。
2023-11-14 00:17:33
339
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅