- 博客(16)
- 收藏
- 关注
原创 栈和队列及LeetCode 1047&LeetCode 150解析
Python中一般使用列表 list 模拟栈: append() 入栈, pop() 出栈, stack[-1] 取栈顶。栈的优势:消除之后,新的栈顶可以直接和下一个字符比较,自动处理消除后新产生的相邻重复,不需要反复扫描字符串。给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。队列是先进先出(FIFO) 的线性数据结构,类比排队,先排队的人先处理。输入: tokens = [“2”,“1”,“+”,“3”,“*”]样例模拟 [“2”,“1”,“+”,“3”,“*”]
2026-09-08 16:06:46
191
原创 LeetCode20 有效的括号 & LeetCode225 用队列实现栈
请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作: push 、 top 、 pop 和 empty。拓展思考:本题进阶要求只用一个队列实现栈,原理是每次push时把前面元素循环挪到队尾,让新元素永远处在队头。关键点:每次pop/top操作,都会把除栈顶以外全部元素转移到临时队列,完成之后交换两个队列角色。队列只能先进先出,想要拿到最后入队的元素,就必须把前面所有元素转移到另一个队列,留下末尾的元素。和pop逻辑大体一致,区别:取出栈顶元素后,不能丢掉,要放入 q2。
2026-09-07 15:37:44
152
原创 算法学习博客:递归与链表刷题
给一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。不能修改节点内部的值,只能交换节点指针。递归:函数自己调用自己,把一个大问题,拆解成规模更小的相同子问题。给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。使用 pre 、 cur 双指针,逐个反转链表节点的next指向。使用虚拟头节点dummy,统一处理头节点交换的特殊情况。递归递推公式:把原问题转化为更小的子问题。输入: [1,2,3,4,5]输出: [5,4,3,2,1]输入: [1,2,3,4]输出: [2,1,4,3]
2026-09-03 15:26:47
157
原创 链表算法刷题博客笔记
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回新的头节点。不管原链表头节点是否变化,我们统一从 dummy 出发操作,不需要区分是否操作头节点,代码逻辑统一,做题优先使用。链表是非连续的内存存储结构,每一个节点包含两部分: val 节点数值, next 指向下一个节点的指针。很多链表题会遇到:要删除/插入的节点正好是头节点,头节点没有前驱,需要单独写特殊逻辑。头部插入删除 O(1) O(n)
2026-09-02 15:29:19
235
原创 数组专题刷题笔记:LeetCode27、977、209
给你一个数组 nums 和一个值 val ,需要原地移除数组中所有等于 val 的元素,元素的顺序可以发生改变,返回数组中不等于 val 的元素数量 k。给你一个按非递减顺序排序的整数数组 nums ,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。输入:target = 11, nums = [1,1,1,1,1,1,1,1]输入:nums = [0,1,2,2,3,0,4,2], val = 2。输入:target = 7, nums = [2,3,1,2,4,3]
2026-09-01 15:42:12
159
原创 数据结构博客:数组基础与二分查找(LeetCode704)
二分查找算法就是建立在有序数组之上的经典查找算法,如果数组无序,则不能直接使用二分查找。数组的每一个元素都拥有下标,下标从0开始,通过下标可以直接访问对应位置的数据,随机访问的时间复杂度为O(1)。因为数组是升序有序,每次取区间中间位置元素和目标值对比,每一轮可以直接排除掉一半不可能存在答案的数据,不断收缩查找区间。输入:nums = [-1,0,3,5,9,12], target = 9。输入:nums = [-1,0,3,5,9,12], target = 2。解释:数字9位于数组下标4的位置。
2026-09-01 15:17:16
310
原创 Shell结构化条件判断语句实操教程
一、前言本次为Shell第十次课程实操作业,围绕结构化分支语法完成Xshell落地实操,覆盖 if-then 、 if-then-else 、 elif 多分支、 test 命令、单方括号 [] 、算术双括号 (()) 、模式匹配双方括号 [[]] ,额外补充嵌套if、复合条件判断案例。文章拆解概念含义、命令参数用途、实操代码与运行效果,搭建完整的Shell分支判断知识框架,所有操作均留存终端截图用于作业佐证。二、分模块知识点概念+实操演示2.1 基础分支:if-then语句概念解释。
2026-07-10 23:51:49
314
原创 Linux Shell基础实操小结
var=5exit $var编辑完成后按下Esc,输入 :wq 保存文件并退出vim编辑器。执行脚本命令 bash exit_test.sh ,脚本运行完毕后输入 echo $?,读取脚本自定义的退出状态码。实际应用场景常用于服务器定时任务、批量运维操作、重复性工作自动化,是Linux运维最基础的自动化工具。2.2 Shell变量与$取值语法概念理解Shell中包含两类变量:一是自定义变量,由使用者自行定义赋值,用于存储临时数据;
2026-07-09 15:41:37
357
原创 Linux用户、用户组与文件权限实操笔记
一、课程基础知识点概念理解Linux依托用户ID(UID)、组ID(GID)校验身份,限制用户对文件、文件夹、硬件设备的访问权限,是系统做资源隔离、安全管控的基础机制。用户&用户组管理命令概念useradd :创建新系统用户账号;Ubuntu普通用户执行必须前置 sudo 提权,补充 -m 参数可自动生成用户家目录,规避后续 su 切换用户目录缺失报错;-G 用来指定用户的附属用户组。
2026-07-08 16:50:48
351
原创 Linux环境变量与数组变量完整学习笔记
本文分为两大核心模块:Linux环境变量、Bash数组变量,覆盖变量分类、PATH原理、永久环境变量配置、数组增删改全套操作,所有命令均在Xshell连接Linux虚拟机实操验证。环境变量部分:局部变量export导出、env查看、PATH打印、vim ~/.bashrc配置+source刷新截图;Bash数组依靠下标管理元素, unset 删除下标不会压缩数组空位,清空全数组需直接unset数组名;环境变量分局部、全局, export 实现全局导出, ~/.bashrc 实现永久配置;
2026-07-07 17:09:00
205
原创 Linux Shell基础专题实操笔记
一、文章内容说明本文完整覆盖本次课程全部小结知识点,包含概念解析、Xshell可直接复制执行代码、实操对比实验、易错点标注本次知识点清单:Shell的类型、Shell进程与父子关系、Shell父子进程验证、Shell运行模式、内建命令与外部命令区分、history内建命令实操、alias内建命令实操,附带history专项对比练习题完整流程。二、Shell的类型2.1 概念理解Shell是用户与Linux内核交互的解释器,主流发行版内置多种Shell程序,Ubuntu系统默认使用 bash;
2026-07-06 16:03:54
226
原创 Linux基础文本处理命令实操完整笔记
一、文章主要内容本次实操覆盖 echo输出命令 、 管道符| 、 输入输出重定向 、 paste与join文件合并 四大核心知识点二、echo输出显示命令2.1 命令说明echo 是Linux最基础的输出工具,作用是在终端打印字符串、变量,搭配重定向可快速将文本写入文件。常用参数:2.2 实操代码bashecho hello linuxecho -n test1echo test2echo -e “123\n456\t789”a=100echo $aecho abc > t1.txt三、管道符 | 实
2026-07-03 16:54:26
217
原创 Linux更多bash shell命令实操完整笔记
一、文章说明本文完整实现PPT小结全部命令实操,搭建命令知识框架,附带全部操作流程与运行截图,重点演示 top 、 sort 、 grep 核心命令二、进程管理命令:ps、top、kill命令用途静态列出系统当前运行的进程,查看进程PID、用户、资源占用等信息。常用参数与实操bash。
2026-07-02 16:25:32
220
原创 Linux基础文件与目录命令实操实验报告
使用Xshell工具远程连接Linux服务器,完成课本小结全部命令实操验证,记录完整操作流程、报错问题与解决方案。方法1:cd test进入目录,使用rm删除全部内部文件,cd…错误原因:rmdir命令规则限制,仅支持删除空目录,test内存在文本文件。错误原因:rmdir操作对象只能是文件夹,普通文件删除需使用rm命令。错误原因:返回上级目录语法错误,仅单个英文点不代表上级目录。方法2:直接使用rm -r test 递归删除带内容目录。(三)文件、目录删除命令 rm。报错含义:目录不为空,无法删除。
2026-07-01 22:12:40
184
原创 Xshell通过SSH连接Linux虚拟机实操全教程(含排错+Xftp文件传输)
SSH通过非对称加密对传输数据全程加密,保障远程连接安全,默认使用22端口。端口22拒绝访问 SSH服务未安装、端口被占用 执行 sudo apt install openssh-server 重装ssh服务。主机密钥不匹配警告 虚拟机IP复用、系统重装,本地保存的旧密钥冲突 Xshell工具-用户密钥管理器,删除对应主机密钥,重新连接。用户名/密码错误,认证失败 账号、密码输入错误,区分大小写 重新输入Linux登录账号密码,注意大小写。二、Xshell连接Linux虚拟机完整步骤。
2026-06-30 16:19:46
243
原创 Linux相关
安装全程截取关键截图插入文章,包含:VMware新建虚拟机界面、硬件配置页面、Linux安装引导页、分区设置、用户密码设置、系统登录界面、ping通外网网络测试截图,在作业里附上截图即可。1. 系统基础:熟练CentOS、Ubuntu等Linux发行版,精通文件、权限、进程、磁盘、网络管理命令,能独立排查系统卡顿、磁盘爆满、端口异常等故障。Linux是一款开源免费、多用户、多任务的类Unix操作系统内核,由林纳斯·托瓦兹开发,广泛用于服务器、嵌入式设备、虚拟机、云平台。
2026-06-29 23:59:07
279
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅