自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 哈希表相关知识

哈希碰撞(Hash Collision)是计算机科学中的常见术语,指‌两个不同的输入数据‌(如字符串、文件等)通过哈希函数计算后,生成‌相同的哈希值‌(即“信息摘要”或“指纹”)。哈希冲突(Hash Collision)是哈希表技术中的核心问题,指两个或多个不同的键(key)经过哈希函数计算后,生成相同的哈希值,从而被分配到哈希表的同一存储位置。这种现象的根本原因在于哈希函数的输入域(无限可能的数据组合)远大于输出域(固定长度的哈希值空间),根据鸽巢原理,冲突必然存在。Redis的字典结构采用此方法。

2025-09-10 23:30:33 825

原创 删除字符中的所有相邻重复项,逆波兰表达式求值

通过字典op_map,将运算符字符串('+'、''、'*'、'/')与对应的运算函数(add、sub、mul、div)关联,方便后续根据运算符快速找到要执行的函数。如果是运算符,从栈中弹出两个操作数,先弹出的是右操作数op2,后弹出的是左操作数op1,因为栈是“后进先出”,最近入栈的操作数在更上层。处理相邻重复字符,当res不为空,且res最后一个元素(即最近加入的字符)与当前遍历到的字符item相同时,说明出现了相邻重复字符。初始化存储容器,创建一个空列表res,用于临时存储处理后的字符。

2025-09-08 10:50:33 264

原创 栈和队列知识

因为stack_in是“后进先出”存储的,循环将stack_in中的元素逐个弹出(stack_in.pop()),再加入stack_out(stack_out.append(...))。这样一来,stack_in中先入队的元素会被放到stack_out的栈顶(符合队列“先进先出”,先入队的元素要先出队)。stack_out专门负责“出队”和“查看队首”操作:当需要出队或查看队首时,从stack_out中获取元素(此时stack_out里的元素顺序已经被调整为符合队列“先进先出”的顺序)。

2025-09-05 11:44:14 374

原创 递归、链表

pre:表示当前节点的前驱节点(即反转后当前节点的“下一个”节点),初始时为None(因为原链表头节点反转后会成为尾节点,尾节点的next为None)。移动current指针到下一组的前驱位置(即交换后两个节点的第二个节点,current=current.next.next),为下一次交换做准备。当循环结束时,cur为None,此时pre指向的是原链表的尾节点,而经过反转后,这个尾节点就变成了新链表的头节点,所以返回pre。更新pre为当前的cur,因为下一个节点反转时,当前cur会成为下一个节点的前驱。

2025-09-04 11:04:21 394

原创 链表理论基础

如果满足,执行current.next=current.next.next:跳过current.next节点(相当于“删除”它)。如果满足,执行current.next=current.next.next:跳过current.next节点(相当于“删除”它)。returndummy_head.next:因为dummy_head是“虚拟头节点”,它的next才是真正的链表头节点。returndummy_head.next:因为dummy_head是“虚拟头节点”,它的next才是真正的链表头节点。

2025-09-03 16:46:53 141

原创 有序数组的平方&长度最小的子数组

right - left + 1 计算的是当前满足条件的子数组的长度,将其与之前记录的最短长度 min_len 比较,取较小值。比较左指针和右指针所指元素的平方大小:​如果左指针元素的平方小于右指针元素的平方,就将右指针元素的平方放入结果数组的 i 位置,然后右指针左移( r -= 1 )。left = 0 和 right = 0 :初始化两个指针, left 和 right 都指向列表的起始位置,这两个指针用于定义子数组的左右边界。否则,返回找到的最短子数组的长度 min_len。

2025-09-02 11:11:45 365

原创 数据结构概念与数组的基本知识

​固定大小(静态数组):多数编程语言中,数组初始化时需指定长度,后续无法动态扩容(动态数组如Java的ArrayList、Python的list本质是对静态数组的封装,通过重新分配内存实现“动态”效果)。​多维数组:以二维数组最常见(如矩阵),本质是“数组的数组”,如 int[][] matrix = {{1,2},{3,4}} ,内存仍按一维连续存储(行优先或列优先)。​索引访问:通过非负整数索引(通常从0开始)直接定位元素,访问时间复杂度为 O(1)(常数时间),是数组最核心的优势。

2025-09-01 11:38:26 254

原创 加分练习喔

2025-07-11 11:46:22 397

原创 第九次作业

2.为三个用户分别创建 download,Picture, Document 三个文件夹。使用 for 循环检查当前目录下有哪些是可执行文件, 有哪些是可写文件。• 检查该用户名是否存在, 如果存在返回“该用户已存在” , 并输。1.为 Tom, Jerry, Spike 创建新用户账户。• 如果不存在, 检查 /home 下是否有该用户的文件夹。• 如果有该用户名称的文件夹, 输出文件夹下内容。• 如果没有该用户文件夹, 为该用户名创建新用户。• 每一步都需要返回提示信息如“该用户已存在”

2025-07-11 11:21:14 207

原创 第八次作业

1. 创建一个新用户, 指定用户名缩写为其主目录名, 并指定用户的登录shell为 dash shell。2. 修改用户的登录名、 密码、 默认的登录shell、 /etc/passwd 文件的备注字段。3. 查看 /etc/skel 下的文件, 根据前一章的内容, 解释目录下的文件是做什么的。1. 查看/etc/passwd 文件, 并对某用户账户的字段进行解释。4. 用 –m 参数创建一个新用户账户, 检查新用户的 HOME 目录。2. 查看/etc/shadow文件, 并对某用户账户的字段进行解释。

2025-07-10 12:19:08 112

原创 Linux环境变量

在子 shell 中设置局部变量, 退出子 shell 后在父shell 中查看。4. 在子 shell 中使用 export 将赋新值的变量导出至全局并查看。5. 进入子 shell, 在子 shell 中查看 $PWD 变量。1. 进入子 shell 中查看父 shell 中设置的全局环境变量。在父 shell 中设置局部变量, 进入子 shell 中查看。3. 退出子 shell, 查看父 shell 中的该变量值。5. 退出子shell, 查看父 shell 中的该变量值。

2025-07-09 11:55:46 312

原创 构建基本脚本

第六次作业

2025-07-08 12:04:35 163

原创 vim编辑器

第五次作业

2025-07-07 11:43:57 131

原创 虚拟机链接U盘

第四次作业

2025-07-06 23:24:02 160

原创 管理“学习笔记”项目

第三次作业

2025-07-03 19:55:50 117

原创 Xshell和Xftp安装,以及Xshell连接虚拟机

第二次作业

2025-07-02 21:25:03 1126

原创 安装Virtual Machine虚拟机保姆教程

第一次作业

2025-07-02 10:07:12 779

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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