- 博客(45)
- 收藏
- 关注
原创 合并2(K)个链表、排序链表
这实际上也是分治(归并排序)。归并给我的感觉就像是你很难处理一个棘手的问题,然后你把这个棘手的问题一步步拆解下放,直到你能解决的地步,比如这里对于链表排序就是拆解到只剩下两个节点的时候,你肯定能通过判断大小关系直接排序了,然后一步步回升,直到解决这个问题。这是一个快慢指针,这个判断条件你可以画图证明一下,如果节点总数是偶数,最后fast->next == nullptr。这个是把O(n)优化成了O(log2n),一个一个合并是顺序遍历,分治来做的话让他自己内部合并,而不用像遍历一样去维护一个ans。
2025-04-12 21:32:33
399
原创 合并区间、插入区间~
这里有一个非常偷懒的做法:就是直接copy上一题的代码,然后把新区间插入到区间集合里面进行区间合并,而且由于本来就是有序的,所以sort一下好像不会花太多时间。另一种是新区间的左端点小于上一个区间的右端点,这时就有了交集,让end=max(end,newend)实际上还包括了两种小情况。2.发现第一个满足区间左端点大于新区间右端点的区间,如果新区间没插入就把left和right维护的中间一大坨插入,再插入这个区间。因为他每回插入答案的都是上一个维护的区间,所以导致在最后维护的新区间不会插入到结果中。
2025-04-11 21:40:02
320
原创 反转链表系列
的地方是先保存p0->next,因为反转链表以后这K个节点组成的区间内第一个节点就变成了最后一个节点,然后下一次的p0是要移动到这个区间的最后一个节点,也就是下一个区间前的第一个节点。我想这里有个细节可能大家也注意到了,就是在区间反转的时候,cur总是会“探出”这个区间,指到下一个区间的第一个节点。如果是408那道题,从中点反转链表,我们只需要用最简单的第一问的方法,从中点后面全部反转即可。就是让区间左边界内的第一个节点指向区间右边界外面的第一个节点,再让p0指向pre,就是区间右边界内的第一个节点。
2025-04-11 20:20:28
393
5
原创 Acwing6118 蛋糕游戏
这是yxc大佬的题解,这道题的推导很有意思,但是结论很简单,就是用前缀和找中间一段累加最小的连续数组。唉是我一辈子做不出的题。
2025-03-29 11:29:33
250
原创 感觉自己邮电部诗人
第二次做这道题,求回文子串最大长度的时候,计算写成了j-i+1,看了15分钟才看发现哪里出了问题,感觉自己邮电部诗人,望周知。
2025-03-13 00:16:01
229
1
原创 LeetCode热题100中的背包问题
博主实力很差,对算法的理解水平比较低,这篇帖子主要是写来自己看的。当然,有问题也欢迎在评论区指出。今天分享的三道题都是Leetcode热题100中的背包问题。
2025-03-10 13:14:39
1116
1
原创 软件构造--重构代码
以查询取代临时变量(Replace Temp with Query)是重构的一种技术,其主要目的是通过移除代码中的临时变量,改为使用方法调用(查询)来直接获取所需数据或值。以下是这种重构方式的主要好处:1. 提高代码可读性临时变量可能会使代码变得冗长或不直观。使用查询方法可以通过清晰的命名和抽象,直接表明其意图,提升代码的可读性。例如:2. 减少代码重复查询方法可以被多次调用,避免重复计算临时变量的值。例如,当某个值在多个地方被用到时,临时变量可能导致代码重复,而查询方法集中实现了逻辑,减少冗余。3.
2024-12-03 21:36:13
695
3
原创 软件工程设计模式--结构型设计模式
设计模式的核心思想 : 广义——软件设计模式是可解决一类软件问题并能重 复使用的软件设计方案 狭义——设计模式是对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述,是在类和对象的层次描述的可重复使用的软件设计问题的解决方案设计模式按目的分类可以分为创建型、行为型、结构型,按范围分类可以分为类模式和对象模式。设计模式之间的关系如下图所示:类结构型模式关心类的组合,系统中一般只存在继承关系和实现关系。对象结构型模式关心类与对象的组合,通过关联关系使得在一个类中定义另一个类的实例对象。作用:将一个
2024-11-25 21:07:36
641
原创 8086的指令系统
今天上午综测答辩结束,感觉就很一般,但是我昨晚也操心到觉都没睡好,今天中午舍友玩P5吵得我也没睡着,感觉脑袋昏昏沉沉,汇编上课没认真听讲,晚上来补一补。还是采用GPT来讲解(水文字),我写一些个人看法的方式,首先,8086指令系统有以下六种:我不知道为什么?新版QQ截图的时候老是屏幕变黑或者变灰。
2024-09-24 22:16:10
1599
3
原创 操作系统第一部分实验 OS内核基础(3个学时)
3. Iam 和 Whoami 两个系统调用使用了指针参数传递用户地址空间的逻辑地址(字符串的开始地 址),若在内核空间直接访问这个地址,访问的仍然是内核空间的数据,而不是用户空间的 数据。答:我们尝试运行linuxapp程序,但遇到了cannot execute binary file的错误,接着通过chmod +x linuxapp命令成功给文件赋予了执行权限,并且程序最终成功运行并输出了"Hello world!启动虚拟机中的linux,通过mcopy和sync保存到硬盘,再编译执行。
2024-09-09 10:11:43
1367
原创 计算机网络实验报告
实验1.1 Wireshark软件使用与ARP协议分析实验时间∶ 2024 年 4 月 25 日实验目的∶学习Wireshark的基本操作,抓取和分析有线局域网的数据包;掌握以太网 MAC 帧的基本结构,掌握ARP协议的特点及工作过程。实验内容∶使用Wireshark抓取局域网的数据包并进行分析:1. 学习Wireshark基本操作:重点掌握捕获过滤器和显示过滤器。2. 观察MAC地址:了解MAC地址的组成,辨识MAC地址类型。3. 分析以太网帧结构:观察以太网帧的首
2024-09-09 10:05:48
7218
1
原创 计算机网络期末复习
防火墙和入侵检测系统(IDS)的定义:定义:防火墙是一种网络安全系统,设计用于监控和控制进出网络的流量。它通过预先设定的一组安全规则来过滤流量,以阻止未经授权的访问。功能:包过滤:检查数据包的源地址、目标地址、端口号等信息,决定是否允许通过。状态检测:跟踪和检查连接状态,确保只有符合状态的流量可以通过。代理服务:充当客户端和服务器之间的中介,过滤和检查通信内容。内容过滤:阻止不符合特定标准的内容(如恶意软件或敏感信息)通过网络。
2024-06-08 18:34:11
455
1
原创 SpringBoot注解
分别表示处理 HTTP 的 GET、POST、PUT、DELETE 请求的方法,用于映射请求 URL 到具体的处理方法。:用于表示需要验证的方法参数,结合 Hibernate Validator 进行方法参数的校验。:用于声明事务性方法,使得方法具有事务性,通常用在 Service 层的方法上。:用于映射 HTTP 请求到处理方法上,可以指定请求的 URL、请求方法等属性。:监听 Spring 应用中的事件,可以在方法中处理特定的事件。:表明被注解的方法是一个异步方法,可单独开启一个线程来执行。
2024-03-20 19:49:26
1647
2
原创 HTTP协议和TCP协议的关系
HTTP(Hypertext Transfer Protocol)是一种用于在网络上传输超文本的应用层协议,而TCP/IP(Transmission Control Protocol/Internet Protocol)是一组网络通信协议,其中TCP负责在传输层提供可靠的数据传输,而IP负责在网络层提供数据包的路由和传输。虽然HTTP和TCP/IP协议具有不同的功能和特点,但它们之间存在密切的联系。TCP是比HTTP更为底层的协议,HTTP是应用层协议,而TCP是传输层协议。
2024-03-10 17:25:58
840
原创 数据库系统的三级模式结构
如果要修改数据库的存储结构,比如改变成绩信息的存储格式或索引方式,只需修改内部模式,而不需要修改外部模式或概念模式。(也就是我们这些数据库设计者或是DBA在操作数据库管理系统时,比如mysql,我们可以通过DataGrip等IDE查看到数据库的所有表、所有视图,我们在这一层级上操作数据库,建表、增删改查等一系列操作)举例来说,假设有一个外部模式用于学生查询个人成绩信息,概念模式定义了学生、课程和成绩之间的关系,而内部模式则确定了在数据库中,学生信息、课程信息和成绩信息是如何物理存储的。
2024-03-09 20:52:02
472
原创 网站设计与开发大作业:设计自己的个人网站
这个公共JS的导入,实现了网站的响应式结构,根据当前设备宽度和预设的设计宽度,自动调整根元素的字体大小。那么本次大作业制作过程到这里就步入尾声了,首先我结合UI设计和具体代码讲述了网站呈现的两个组件和六个页面,接着谈了谈我本次大作业的设计原则和网站都要遵循的设计原则(响应式、重置CSS等),最后对前后端交互的实现进行探讨。页面分为两个section,第一个section是一张大图,配合下雨的气氛,正中间是我最喜欢的动漫角色的头像(这里放我的头像试了一下不太美观),头像的下面是网站的介绍文字。
2024-02-28 21:58:18
2133
原创 数据结构课设:栈计算器
(一)需求和规格说明问题描述:设计并实现计算器。编程任务:利用栈计算器的底层原理,实现一个计算器程序。 用户可以在图形交互界面输入算式。 点击“=”后,计算结果呈现在图形交互界面上显示给用户。 增加3个逻辑运算符 &&、||、 !,并能处理逻辑运算符和算术运算符的混合运算。 有异常处理功能,并能及时反馈给用户。(二)设计1.问题分析我们在基础框架上选择沿用STL实现的栈计算器,通过之前的学习我们知道栈计算器的原理是设计两个栈,一个是操作数栈,另一个是运
2024-02-26 20:47:28
1006
原创 软件工程概论知识点(复习)
通过这种简洁的格式,用户故事能够快速且清晰地表达用户的需求和期望,提供给团队一个共同的理解,使其更好地开发出满足用户需求的功能。需要注意的是,用户故事并不是详尽无遗的规范文档,而是简明扼要地描述用户需求,并鼓励与利益相关者进行进一步的讨论和细化。它提供了一套丰富的图形符号和规范,用于表示不同类型的模型元素、关系和行为,以及它们之间的交互和结构。这个Scrum感觉是挺有意思的,就是不停的周期性的冲刺完成任务,每天还要开15分钟的短会,每个人聊一下上次例会后做了什么,遇到的困难,下次例会前做了什么。
2024-01-16 22:53:34
2439
1
原创 网页设计与开发:How to 运行大实例网站
由于大实例中的node-sass版本号为4.13.1,于是我对照这张表,认为我应该下载NodeJS13.x的版本,所以我直接卸载掉了NodeJs18.18.0,重新下载了NodeJS13.3.0,并配置了NodeJS13的所有环境变量,但是重新配置后还是在报错“版本不兼容”,在这之后又尝试了13.9.0,为此还学会了用NVM下载管理NodeJS版本,NVM就像Anaconda很便利。主要包括前端依赖项的下载、数据库对应表、视图、函数的建立,Redis与Minio服务器的下载运行,后端依赖项的下载。
2023-12-31 20:03:34
1068
原创 机器学习:gastric.xlsx数据集文本分类
TextCNN是一种用于文本分类的卷积神经网络模型。它主要应用于处理文本数据,如情感分析、垃圾邮件识别等任务。TextCNN使用卷积神经网络的思想来处理文本数据。提到卷积神经网络,我们第一个想到的往往是对图像的特征提取,而TextCNN对文本词向量进行卷积提取特征是非常有创造性的。它的输入是一个句子或一个文本,通常通过将文本转换为词向量或字符向量的形式来表示。这些向量作为模型的输入,经过卷积层和池化层的处理,用于提取句子中的局部特征。然后将特征进行合并,并通过全连接层进行分类。
2023-12-31 20:01:08
1033
原创 标准返回Result类
Result类使用了泛型T,以便可以承载不同类型的数据。code表示响应状态码,message表示响应消息,data表示响应数据。可以根据实际需要,进一步添加其他字段,如时间戳等。此外,可以根据具体的业务需求,在Result类中添加更多的辅助方法,以方便对返回结果进行处理。例如,添加success和error等方法用于快速构建常见的成功和错误响应。
2023-11-22 21:30:08
293
原创 Java 7引入的try-with-resources
当我们在使用Java中的IO流或JDBC时,非常需要注意的一点就是必须关掉开启的资源。不然可能造成资源泄漏的问题。为简化这一流程,Java7引入了try-with-resources特性,可以自动关闭在try()中开启的资源。当我们利用try-with-resources特性后,逻辑在执行结束后,会自动关闭在try()中开启的资源文件。不使用try-with-resources特性,我们必须在逻辑执行完毕后手动的在finally块中释放资源。
2023-11-22 20:14:55
149
原创 Python大作业 数字病理学图像svs文件任意倍率浏览
(7)附件 11 中还包含 wsi-01.svs 和 wsi-02.svs 两个文件,请参考文献[1]的设计风格和模 式,利用 python、OpenSeadragon 库和 OpenSlide 库,设计一套能够显示 wsi-01.svs 和 wsi-02.svs 文件的前后端 web 软件,可支持任意倍率浏览、任意颜色曲线标注,其他具体细节功能或特色功能可自行决定。图像是可以缩放移动的,朋友们我说句题外话,这个图片放大后细胞清晰可见,看的我非常不适,有一种想偶图的感觉。可以从我的网盘链接下载。
2023-11-01 20:28:09
2120
1
原创 JSP不堪重用,AJAX重拳出击
所以现在都用HTML+AJAX代替JSP了嘛,AJAX向后台服务器发送请求刷新局部页面,后端在这部分需要做工作量减少到写接口完成接口,开项目需求分析会的时候前后端都来听听,项目经理来写接口文档,分头实现,效率不知道高到哪里去了。3、前端工程师完成 HTML 页面后,需要由 Java 工程师将其修改为 JSP 页面,而由于页面中经常包含大量的 JavaScript 代码,出错的几率较高。用过JSP的朋友们对缺点2可能感受最直观,如果js代码少的话还好,但是如果很多,后端工程师在修改时很容易不小心哪里写错。
2023-10-31 20:36:45
499
1
原创 分享python一些有趣的第三方库
'冬天', '不', '像', '夏天', ',', '没入', '深夜', ',', '路上', '已', '静悄悄', '悄悄', '悄悄的', ',', '再加', '加上', '这里', '本', '就', '人烟', '人烟稀少', '稀少', ',', '更是', '静', '的', '可怕', '。', '转过', '转过身', ',', '看', '一眼', ',', '\n', '又', '迅速', '转过', '来', ',', '心跳', '开始', '加快', '。
2023-10-24 22:29:00
592
原创 MyBatis中的单例模式-SqlSessionFactory
因为MyBatis的本质就是Java对数据库的操作,所以SqlSessionFactory的生命周期存在于整个MyBatis的应用中(这很关键)。所以一旦创建了SqlSessionFactory,就要长期保存它,直到不再使用MyBatis,所以可以认为SqlSessionFactory的生命周期就等同于MyBatis的应用周期。如果创建多个SqlSessionFactory,那么就存在多个数据库连接池,不利于对数据库资源的控制,也将导致数据库连接资源被消耗光,出现系统宕机等情况,所以尽量避免出现这种情况。
2023-10-16 20:53:19
441
1
原创 Java实验四 JavaWeb编程
1.掌握Java Web服务器Tomcat的安装、配置。2.学会简单的HTML表单设计,表单提交。3.掌握JSP中的request对象、session对象的使用。1.下载安装Tomcat8,对其进行配置。启动Tomcat服务器,在浏览器输入,查看浏览器输出界面;2. 定制配置:(1)修改Tomcat的服务端口为88(默认安装为8080);(2)修改HTTP GET方式的字符编码为UTF-8(默认为ISO-8859-1);
2023-10-15 13:26:09
1492
6
原创 解决SpringBoot打开Web显示Whitelabel Error Page
你的后端代码应该与TestApplication放在同一个包下。出现这个问题一个可能的原因是因为你的项目结构。
2023-10-12 21:05:01
267
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅