- 博客(18)
- 收藏
- 关注
原创 【无标题】
第二步:遍历 nums3 和 nums4 ,计算 -n3 -n4 (即需要从 hashmap 中查找的键),若该键存在于 hashmap 中,将对应的值累加到 count 中。若该数在 records 中存在,返回这两个数的索引 [records[target - value], index]。第一步:遍历 nums1 和 nums2 ,将两数之和作为键,其出现的次数作为值存入字典 hashmap。若结果在 record 中已存在,返回 False (进入循环,不是快乐数)。
2025-09-11 16:10:02
201
原创 【无标题】
从快递驿站的货架到千亿级流量的缓存系统,哈希表用“映射”的智慧,在数据的海洋中搭建了高效检索的桥梁——这就是哈希表的魅力。遍历字符串 s ,对于每个字符 i ,通过 ord(i) - ord("a") 计算其在26个字母中的相对位置(比如 'a' 对应索引0, 'b' 对应索引1,以此类推),并将 record 中对应位置的计数加1。在哈希表中,键的数量可能远远超过桶的数量,再加上哈希函数的映射范围有限,冲突几乎是必然的。我们能做的,是通过技术手段减少冲突的概率,并高效处理已发生的冲突。
2025-09-10 16:53:46
364
原创 【无标题】
遍历令牌( tokens )时,若为数字则入栈;若为运算符,则从栈中弹出两个操作数(注意弹出顺序,先弹出的是 op2 ,后弹出的是 op1 ),执行对应运算后将结果入栈。最终栈中剩余的唯一元素即为表达式的结果。- 首先定义了基本运算函数,其中 div 函数处理除法时的取整逻辑(区分正负情况,保证结果符合题目要求)。- 最终将栈中剩余字符拼接成字符串返回,即为删除所有相邻重复项后的结果。- 若栈不为空且栈顶元素与当前字符相同,则弹出栈顶元素(消除重复);- 否则将当前字符入栈。二、逆波兰表达式求值。
2025-09-08 15:26:41
221
原创 【无标题】
若 stack_out 为空,将 stack_in 中所有元素转移到 stack_out ,再弹出 stack_out 栈顶元素,时间复杂度为 O(n)(n 为 stack_in 中元素个数)。- 关键逻辑:出栈时,将 q1 中除最后一个元素外的所有元素转移到 q2 ,剩余的最后一个元素即为栈顶(弹出后交换 q1 和 q2 ,保证后续操作在 q1 上进行)。- 只需判断 q1 的长度是否为 0,若为 0 则栈为空,返回 True ,否则返回 False ,时间复杂度为 O(1)。
2025-09-05 16:26:23
781
原创 【无标题】
用 temp 保存 current 的下一个节点(要交换的第一个节点),用 temp1 保存 current 的下下个节点的下一个节点(即交换后第二个节点的下一个节点)。- 最后递归调用 reverse 函数,将 temp (原下一个节点)作为新的 cur , cur (原当前节点)作为新的 pre ,继续处理后面的节点。- 斐波那契数列: f(n) = f(n-1) + f(n-2) (基线条件: f(0)=0, f(1)=1 )。,通过求解 (n-1)!
2025-09-04 15:30:31
891
原创 【无标题】
第 n 个节点前插入( addAtIndex 方法):先找到第 n - 1 个节点(要插入位置的前驱节点),创建新节点,将新节点的 next 指向该前驱节点原来的 next (即第 n 个节点),再将前驱节点的 next 指向新节点,更新链表长度。若索引无效,不插入。- 头部插入节点( addAtHead 方法):创建新节点,将新节点的 next 指向原来的头节点,再将虚拟头节点的 next 指向新节点,实现头部插入,同时更新链表长度。3. 返回处理后的链表头节点。
2025-09-03 15:47:20
392
原创 【无标题】
当 cur_sum 大于或等于 target 时,进入内层循环,尝试缩小窗口(左指针 left 右移,从 cur_sum 中减去左指针指向的元素),并更新 min_len。- 比较两个指针所指元素的平方大小,将较大的平方值放入结果数组的当前 index 位置,然后相应地移动指针(若左指针元素平方大,左指针右移;- 采用双指针法,分别指向数组的起始位置 left 和末尾位置 right ,以及结果数组的末尾位置 index。
2025-09-02 15:42:53
170
原创 数据结构第一次作业
若 nums[middle] > target ,说明目标值在左半部分,更新 right = middle - 1 (因为 middle 位置已确定不是目标值,所以右边界左移到 middle - 1 )。- 若 nums[middle] > target ,说明目标值在左半部分,更新 right = middle (因为右开区间,新的右边界为 middle ,搜索范围变为 [left, middle) )。在这个逻辑中,只有当快指针找到非 val 元素时才会复制,所以是安全的。
2025-09-01 16:45:35
811
原创 Linux系统第八次作业
5. xh 投靠警察(加入 police 组 )测试读写。3. jack 创建文件并设置权限。6. 若要直接让 xh 可读写。4. jack 修改文件权限。
2025-07-11 12:39:07
572
原创 Linux系统第二次作业
man 是 Linux 等类 Unix 系统中用于查看命令手册的命令, man man 就是查看 man 自身的帮助文档,内容包括 man 命令的功能(如何查看其他命令的手册页 )、使用语法(如 man [选项] 命令名称 ,常见选项 -a 显示所有匹配手册页、 -k 按关键字搜索等 )、手册页的结构(如名称、概要、描述、选项、退出状态等部分含义 )等,帮助用户了解如何正确使用 man 命令查询系统中各类命令、配置文件等的详细说明。也能保存会话,方便下次快速连接。
2025-07-02 14:40:50
362
原创 Linux系统第一次作业
Linux运维工程师:通常要求熟悉Linux系统(如CentOS、Ubuntu等 ),掌握Shell脚本编程,会配置网络服务(如Nginx、Apache、MySQL等),了解服务器硬件及虚拟化技术(如KVM、Docker ),具备故障排查和系统优化能力,有一定的安全意识(如防火墙配置、漏洞修复 ),部分岗位要求有运维项目经验或相关认证(如RHCE )。6. 选中创建的虚拟机,点击“开启此虚拟机”,进入Linux安装向导,按提示选择语言、分区、设置root密码等,完成系统安装。
2025-07-02 14:35:10
653
原创 【无标题】
man 是 Linux 等类 Unix 系统中用于查看命令手册的命令, man man 就是查看 man 自身的帮助文档,内容包括 man 命令的功能(如何查看其他命令的手册页 )、使用语法(如 man [选项] 命令名称 ,常见选项 -a 显示所有匹配手册页、 -k 按关键字搜索等 )、手册页的结构(如名称、概要、描述、选项、退出状态等部分含义 )等,帮助用户了解如何正确使用 man 命令查询系统中各类命令、配置文件等的详细说明。也能保存会话,方便下次快速连接。
2025-07-01 16:02:14
200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅