- 博客(56)
- 收藏
- 关注
原创 DFS 与回溯:按字典序输出 1~n 的所有排列
该代码使用深度优先搜索(DFS)生成1到n的所有全排列。通过递归回溯的方式,依次尝试每个未被使用的数字,并将已使用的数字标记为true。当路径长度达到n时输出当前排列。该方法保证了排列的字典序,并通过状态数组st[N]避免重复使用数字。输入n(1≤n≤7),程序输出所有可能的排列,每个排列占一行。例如输入3时,输出6种排列组合。算法时间复杂度为O(n!),适用于小规模数据。
2026-08-02 00:59:55
172
原创 并查集:合并集合
摘要:题目描述了一个集合合并与查询问题,使用并查集数据结构实现。初始时有n个独立集合,执行m个操作:M操作合并两个元素所在的集合,Q操作查询两个元素是否同属一个集合。采用路径压缩优化查找操作,时间复杂度接近常数。对于每个查询输出Yes或No。核心算法使用find函数实现路径压缩,通过数组p维护父节点关系,高效处理合并与查询操作。
2026-07-26 22:46:33
59
原创 Trie 树 算法实现 C++
本题实现了一个基于Trie树的字符串统计系统,支持插入和查询操作。Trie树通过二维数组son[N][26]存储子节点,cnt[N]记录单词出现次数。插入时遍历字符串字符,沿Trie树路径创建节点并在终点计数;查询时沿路径查找,存在则返回计数否则返回0。算法时间复杂度为O(L),L为字符串长度。样例输入5次操作(插入"abc"、查询"abc"、查询"ab"、插入"ab"、查询"ab"),输出结果为1、0、1,
2026-07-26 00:27:56
34
原创 KMP 字符串匹配算法
本文介绍了使用KMP算法解决字符串匹配问题。题目要求找出模式串P在主串S中的所有出现位置(从0开始的下标)。示例展示了输入模式串"aba"和主串"ababa"时,输出匹配位置0和2。提供的C++代码实现了KMP算法,包含两个核心步骤:1) 预处理模式串生成next数组;2) 在主串中进行模式匹配。当模式串完全匹配时,输出起始位置i-n,然后利用next数组继续查找后续匹配。该算法通过预处理优化了匹配效率,时间复杂度为O(n+m)。
2026-07-22 01:04:45
167
原创 单调栈:寻找左边第一个比当前数小的数
该问题要求在给定整数序列中,为每个元素找到其左侧第一个比它小的数,若不存在则输出-1。使用单调栈算法,维护一个严格递增的栈结构。对于每个新元素,弹出栈顶所有不小于它的元素,此时栈顶即为所求(若栈非空),否则输出-1。然后将该元素压入栈中。算法时间复杂度为O(n),空间复杂度O(n),示例代码演示了该过程。
2026-07-21 00:18:40
36
2
原创 Vue前端页面实现搜索框的重置
信息系统里面会设计页面展示数据库里的信息,然后一定会设置搜索的功能,搜索包含下拉框或者输入框,然后搜索完要清空搜索栏并且让页面显示完整的数据,今天让我们完成这个功能。step2:定义一下name,不赋值的时候都写undefined。step1:写好input和button按钮的内容。step4:编写函数reset,让输入值变空。step3:记得写上components。
2025-03-13 14:44:18
434
原创 算法基础8-双链表
现在要对该链表进行 M 次操作,进行完所有操作后,从左到右输出整个链表。:题目中第 k个插入的数并不是指当前链表的第 k 个数。例如操作过程中一共插入了 n 个数,则按照插入的时间顺序,这 n 个数依次为:第 1 个插入的数,第 2 个插入的数,…第 n 个插入的数。
2024-09-26 16:08:06
345
1
原创 爬虫-requests和Selenium
爬虫一般是是以每次分钟数百次甚至上万次的频率访问目标网站,如果爬虫是进行长时间的大量爬取工作的话,一定要给爬虫配置代理IP,否则会被ban。HTTP中常见发送网络请求的方式有两种,GET和POST。GET是从指定的资源请求数据,POST是向指定的资源提交要被处理的数据。这里讲一下webdriver的安装(Edge为例),火狐浏览器还需要安装geckodriver。在请求时给timeout一个值,单位是秒,如果请求时间超过这个值,自动断开。在PyCharm中的终端里面输入。如果弹出百度的网页,则安装成功。
2024-07-15 20:37:48
1093
原创 在Ubuntu20.04上安装Apache、MySQL和PHP的基本步骤
在浏览器中访问DVWA,通常是 http://localhost/dvwa/setup.php ,按照提示进行安装。然后访问 http://localhost/info.php 查看PHP信息页面。然后将index.php移到列表的开头,保存并退出。
2024-06-11 08:17:31
724
1
原创 docker常用命令
3. **启动、停止和重启容器:**8. **删除所有已停止的容器:**12. **查看容器统计信息:**2. **列出本地所有镜像:**6. **在容器中执行命令:**10. **导入文件为镜像:**11. **查看容器内进程:**4. **创建容器的镜像:**5. **导出镜像到文件:**6. **从文件加载镜像:**4. **创建并启动容器:**9. **导出容器到文件:**15. **修改容器限制:**2. **查看所有容器:**14. **重命名容器:**1. **拉取镜像:**
2024-02-12 23:19:05
1295
原创 PyQt5-小总结
之前学习PyQt5,然后那段时间想做一个桌面小程序,后来由于学习内容较多就做了一小部分,但是可以进行页面跳转。大家如果是初学者对Python感兴趣而且刚学数据库时可以看看代码,可能会有点启发。需要用到这个工具,大家自己查一下,很容易配置。实现了账号密码的增删改功能。图片要放在这种文件里。
2024-01-09 16:41:48
695
原创 报错处理:java.io.IOException: Could not find resource mybatis-config.xml
是因为没有将resources文件夹进行标注。运行mybatis文件时出现了以下的情况。在构建的文件中没有找到下图文件。最后再重新构建一下即可正常运行。
2024-01-06 21:19:17
1176
1
原创 python-pyqt5之状态栏
加入自定义槽函数和QTimer计时器对象。在窗口状态栏中实时显示当前日期时间。设计:右键单击,然后创建状态栏。
2023-10-24 13:30:10
1074
原创 Python-pyqt之TabWidget:选项卡
功能:主要为其他控件提供分组,并且按照控件分组来细分窗口功能。任务目标:选项卡的动态删除和添加,设置可以独立关闭选项卡。
2023-10-20 21:27:38
886
原创 Python-pyqt5之ListWidget:列表
这是一种列表,当里面的列表项内容行数大于列表框的高度后,自动出现滚动条。用列表展示课程,双击选中后可以弹出提示框选择显示选择的内容。
2023-10-20 20:36:53
1409
原创 Python-pyqt5之ComboBox:下拉组合框
主要用于在下拉组合框中显示数据,用户可以从中选择选项。设计页面可以选择班内职务,然后在下方显示出来。
2023-10-18 11:35:27
2128
原创 Python-pyqt5之 CheckBox:复选框
设计一个窗口,实现选择课程的功能,完成选择后,可以显示选择的内容。CheckBox是复选框控件,可以进行多种选择。
2023-10-18 10:57:30
1695
原创 安装Docker
此命令下载测试映像并在容器中运行它。当 容器运行,它会打印确认消息并退出。9第九步:通过运行映像验证 Docker 引擎安装是否成功。使用apt存储库安装,全部按照下面的代码复制粘贴即可。8第八步:要安装最新版本。若显示版本号,即安装成功。本文以Ubuntu为例。
2023-10-16 14:04:13
134
原创 ssh登录
将~/.ssh/目录下的id_rsa(公钥)复制到myserver中的~/.ssh/authorized_keys文件里。4.在terminal中使用服务器执行命令。在AcTerminal中操作。
2023-10-10 18:11:27
167
原创 Linux-Shell语法(上)
shell是我们通过命令行与操作系统进行沟通的语言,shell脚本可以直接在命令行中执行,也可以将一套逻辑组成一个文件,方便复用。Linux中常见的脚本有很多种,本篇以bash为例.文件开头需要写/bin/bash指明bash为脚本解释器chmod +x test.sh # 使脚本具有可执行权限./test.sh # 当前路径下执行~/test.sh # 家目录路径下执行bash test.sh #用解释器执行name1='abc' # 单引号定义字符串。
2023-10-01 20:24:30
111
原创 Python-pyqt5之RadioButton:单选按钮
RadioButton是单选按钮控件,它为用户提供两个或多个互斥选项组成的选项集,当用户选中某单选按钮时,同一组中的其他单选按钮不能同时选定。输入用户名密码,选择登录角色,按回车键或点击登录可显示登录信息,点击退出,可退出程序。
2023-09-24 18:14:27
2480
原创 Python-pyqt5之PushButton:按钮
制作登录窗口,输入用户名和密码,点击登录(或按回车),可以在弹出的提示框中显示输入的用户名和密码。点击退出按钮,可以关闭窗口。PushButton按钮控件,允许用户通过单击来执行操作,该按钮既可以显示文本,还可以显示图像。(记录学习第10天)
2023-09-24 16:39:20
1624
原创 Python-pyqt5之LCDNumber:液晶数字显示控件
在文本框中输入数字,按Enter键,可将数字显示在液晶屏上。LCDNumber控件主要用来显示液晶数字。步骤:分别拖入三个控件。
2023-09-23 21:55:33
1990
原创 Python-pyqt5之SpinBox:整数数字选择控件
默认情况下,SpinBox控件的取值范围为0到99,步长值为1。SpinBox是一个整数数字选择控件。步骤:分别拖入三个控件。
2023-09-23 20:54:47
1565
1
Spring项目报错怎么解决
2024-01-13
Java中mybatis实验中报错,请问这是为什么?
2023-12-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅