自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从零到有的游戏开发(visual studio 2022 + easyx.h)

游戏的开发一体化

2025-04-08 14:59:35 6049 6

原创 LeetCode算法“两数之和” 链表+模拟+迭代

题目要求将两个逆序存储数字的链表相加,并返回逆序结果链表。主要思路是逐位相加并处理进位:从链表头部(个位)开始,依次计算当前位之和(包括进位),将个位存入新节点,十位作为进位传递到下一位。循环直到两个链表都遍历完且无进位为止。时间复杂度O(max(m,n)),空间复杂度O(max(m,n))。示例:输入[2,4,3]和[5,6,4](即342+465),输出[7,0,8](即807)。

2025-09-27 22:42:15 233

原创 LeetCode算法“无重复字符的最长子串”哈希表+滑动窗口+贪心

本文介绍了一种使用滑动窗口算法结合哈希表高效求解"最长无重复字符子串"问题的方法。通过维护左右指针动态调整窗口范围,利用哈希表快速判断字符重复性,确保时间复杂度为O(n)。详细步骤包括算法原理、示例演示、代码实现及边界处理,适用于各类字符串场景。该方案空间复杂度为O(1),能正确处理空串、全重复字符等特殊情况。

2025-09-27 22:34:35 1944

原创 uthash.h库源码

UTHash 是一个轻量级哈希表库,提供动态键值存储功能。它支持多种键类型(整数、字符串、指针等),具有自动扩容机制,当桶链过长时会触发扩容以维持高效查找。库采用头文件实现,无需额外编译,使用简单灵活。主要特性包括:1) 支持插入、查找、删除操作;2) 提供遍历接口;3) 包含布隆过滤器优化;4) 可自定义哈希函数。使用时需在结构体中添加UT_hash_handle字段,通过宏实现各种操作。该库适用于C语言项目,特别适合需要快速实现哈希表功能的场景。

2025-09-26 17:44:02 212

原创 LeetCode算法“两数之和”从暴力枚举到哈希表双重进阶

摘要 本文介绍了解决"两数之和"问题的两种算法:暴力枚举法和哈希表法。暴力枚举法通过双重循环遍历数组查找满足条件的元素对,时间复杂度为O(n²)。哈希表法则利用哈希表存储元素值和索引,通过一次遍历实现查找,时间复杂度优化至O(n)。文章详细阐述了哈希表的实现原理,包括哈希函数设计、链地址法处理冲突、插入和查询操作等,并提供了完整的C语言实现代码。两种方法均能正确解决问题,但哈希表法在效率上有明显优势,适合处理大规模数据。

2025-09-21 16:59:14 363

原创 python爬虫(请求+解析+案例)

本文介绍了Python中requests模块和正则表达式的基本用法。requests部分展示了GET和POST请求的实现,包括URL拼接、请求头设置、参数传递和JSON解析。正则表达式部分详细讲解了15种常用元字符的功能和代码示例,如字符匹配、空白符、数字、边界等,并演示了贪婪匹配和惰性匹配的区别。最后介绍了re模块的findall和finditer方法,展示了如何提取字符串中的数字模式。整体内容涵盖了网络请求和文本处理的基础操作,适合入门学习。

2025-09-21 12:36:33 1500

原创 Nginx+Gunicorn云部署(全栈部署云服务器)

本文将介绍在Ubuntu 24.04系统上部署Vue3+Django5.0项目的完整流程,包括服务器初始化、MySQL安装配置、Django后端部署、Vue3前端部署及Nginx整合配置。文章详细说明了从系统准备、数据库创建、Python虚拟环境搭建、Gunicorn服务配置,到前端项目构建和Nginx反向代理的每个步骤,并提供了关键配置示例和命令说明,帮助开发者快速搭建完整的Web应用生产环境。

2025-09-21 12:29:40 995

原创 Docker基础部署和一键启动

本文介绍了Docker环境的配置及基本操作流程。主要内容包括:下载Docker镜像(nginx:1.26.0)、运行容器并修改默认页面内容、使用commit命令保存容器状态为新镜像、通过目录挂载实现数据持久化等关键操作。重点演示了如何通过docker exec进入容器修改文件、使用docker save/load保存和导入镜像、利用-v参数实现宿主机与容器间的目录映射,确保数据在容器关闭后仍可保留。这些操作形成了一套完整的Docker使用流程,帮助用户快速掌握容器化应用部署与管理的基本方法。

2025-08-11 10:55:49 757

原创 MySQL基础以及Express操控MySQL

本文介绍了MySQL数据库的基本操作和SQL语句使用指南。主要内容包括:1)数据库和数据表的创建方法;2)SQL语言的四大核心操作(查询、插入、更新、删除)的语法和示例;3)WHERE子句、AND/OR运算符的使用;4)MySQL安全模式的概念及其对数据修改操作的限制。文章通过具体示例演示了SELECT、INSERT、UPDATE、DELETE等语句的实际应用,并对比了安全模式和非安全模式下数据修改操作的差异,为数据库初学者提供了实用的操作参考。

2025-08-11 10:46:15 673

原创 Express后端开发从身份认证到接口开发到数据库

本文介绍了Web开发中的两种主要模式:服务端渲染(SSR)和前后端分离开发,以及身份认证机制。服务端渲染适合展示类网站,利于SEO但占用服务器资源;前后端分离开发体验好但不利于SEO。身份认证方面,推荐服务端渲染使用Session认证,前后端分离使用JWT认证。文章还分析了Cookie的安全性问题,并提供了在Express中使用Session认证的代码示例。最后介绍了JWT认证机制及其优势,给出了页面路由跳转的实现方法。整体内容涵盖了Web开发的核心技术选择和实践方案。

2025-08-11 10:34:49 1331

原创 爬虫的云服务器代理

代理是,客户端(如 Python 脚本)发请求时,不直接连目标服务器,先把请求给代理服务器,代理再转发给目标,目标响应也经代理回传给客户端。这样做能(目标服务器看到的是代理 IP)、(如公司 / 学校网络屏蔽部分站点,代理可绕过)、(提升重复请求效率)。

2025-08-11 10:15:06 954

原创 python爬虫方法和示例以及应对反爬

本文介绍了Python爬虫的基础实现方法,包括使用urllib库获取网页源码、下载文件、应对反爬措施等。主要内容有:1)使用urlopen获取网页源码并解码输出;2)urllib的6种常用方法(read/readline/getcode等);3)下载网页、图片、视频文件的方法;4)通过定制请求头(User-Agent)绕过基础反爬;5)使用quote和urlencode进行URL编码转换;6)实现百度翻译的POST请求爬取,包括参数编码和JSON数据处理。文章提供了完整的代码示例,适合爬虫初学者学习基础操作

2025-08-11 09:59:55 1761

原创 JavaScript对象的深度拷贝

情况一:基本数据类型,直接赋值情况二:复杂数据类型(数组和对象)先声明空容器,再递归调用遍历赋值情况三:正则表达式,日期对象等函数递归地复制对象及其嵌套属性,确保原始对象和克隆对象完全独立。它处理了多种数据类型和循环引用的情况。

2025-07-09 19:23:14 380

原创 前端交互自定义封装类:“双回调自定义信息弹窗”

本文介绍了一个自定义弹窗类NewMsgBox的开发过程,旨在替代原生alert()功能,提供更灵活的交互。该弹窗包含自定义标题、内容、确认/取消按钮及对应回调函数。开发步骤包括:1)构建DOM结构(主容器、头部、主体、尾部、遮罩层);2)添加CSS样式实现居中显示和视觉美化;3)通过JavaScript类实现功能,包括构造函数参数处理、节点创建、事件绑定和窗口开关控制。最终封装为独立CSS和JS文件,提供完整调用示例和使用说明。该组件支持通过网盘下载使用,具有防止命名冲突的样式前缀,是作者首个前端类开发

2025-07-09 12:58:57 2845 1

原创 制作多样式桌面弹窗MessageBox详细用法

MessageBox 是 Windows API 中的一个函数,用于显示一个模态对话框,该对话框包含一个系统图标、一组按钮和一条简短的特定消息。各参数详细含义含义:指定消息框的父窗口句柄。如果此参数为 NULL,则消息框没有父窗口。效果及示例:当 hWnd 为 NULL 时,消息框会独立于任何窗口显示。当指定一个有效的窗口句柄时,消息框会与该窗口关联,并且会在该窗口的上方居中显示。在这个例子中,当用户点击窗口的客户区时,会弹出一个与该窗口关联的消息框。含义:指定要在消息框中显示的文本内容。

2025-04-29 00:20:07 1189

原创 关于windows API 的键鼠可控可测

GetAsyncKeyState 是 Windows API 中的一个函数,用于判断某个虚拟键是否被按下。GetAsyncKeyState(VK_ESCAPE) 专门用于检测 Esc 键的状态。下面为你详细介绍其用法:函数原型cppint vKey参数vKey:虚拟键码,对于 Esc 键,使用 VK_ESCAPE 作为参数。返回值返回一个 SHORT 类型的值,其含义如下:最高位(第 15 位)为 1 时,表示该键当前处于按下状态;为 0 时,表示该键当前处于释放状态。

2025-04-29 00:13:51 1512

原创 C语言队列和循环队列以及简化自制版本

包含标准输入输出库,用于后续的printf函数调用,实现输出功能。:包含标准库,这里虽代码中未直接使用stdlib.h里的函数,但为后续可能的动态内存分配等操作做准备。:定义了一个宏MAX_SIZE,其值为 100,用于表示队列的最大容量。2. 队列结构体定义int front;int rear;} Queue;定义了一个名为Queue:一个大小为MAX_SIZE的整数数组,用于存储队列中的元素。int front:表示队列的队首位置,即第一个元素的索引。int rear。

2025-04-20 16:27:12 1159

原创 关于C语言的模拟物理模型

define RESTITUTION_COEFFICIENT 0.8 // 恢复系数,0 <= e <= 1,0为完全非弹性,1为完全弹性。if (distance < 100) { // 两个小球半径之和为100。// 计算相对速度在法线方向和切线方向的分量。// 计算碰撞法线方向的单位向量。// 检测并处理碰撞。void peng()//碰撞影响一定放到位置更新之后。void speed()//速度变化。void move()//移动。void Fa()//受力。// 检测并处理小球碰撞。

2025-04-17 23:21:39 1022

原创 C指针文字迁跃/keybd_event函数/kbhit缓冲区检测

结束批量绘制,并执行未完成的绘制任务。写在循环内,构图后,延迟前。bool timer(int ms, int id)//时间戳。void CREATE_SNOW(){生成目标。void DRAW_SNOW(){画出目标。void snowmove(){目标移动。

2025-04-16 23:59:31 410

原创 洛谷普及P2239 [NOIP 2014 普及组] 螺旋矩阵 和 B3751 [信息与未来 2019] 粉刷矩形

数学凝自然秩序,编程赋其新生

2025-04-15 23:33:50 965

原创 C语言 栈 的 描述 和 详解

栈是一种只能在一端进行插入和删除操作的特殊线性表。它按照后进先出(Last In First Out,LIFO)的原则存储数据,就像一个只能从顶部取放物品的箱子,最后放入的物品会最先被取出。

2025-04-14 17:54:24 1171

原创 关于C使用Windows API获取系统管理员权限和对文本属性的操作,以及windows API的核心操作

【代码】关于C使用Windows API获取系统管理员权限和对文本属性的操作。

2025-04-13 03:06:17 878

原创 洛谷普及B3703 [语言月赛202301] 新年快乐

要过春节了,扶苏收到了她的新年礼物:一个崭新的字符串。

2025-04-12 15:31:36 1164

原创 洛谷普及B3754 [信息与未来 2019] 鸡兔同笼

本题通过引入三脚猫这一新的变量来赋予本题更大的灵活性,但是基础逻辑并未有实质性改变,总体来说,分析的时候很清晰,思路抒清,会很舒服。难度偏易。某种意义上来说,本题更偏向是一道数学题。为什么这样说,因为甚至使用线性规划都能写。

2025-04-11 23:35:58 643

原创 洛谷普及B3694 数列离散化

其中前面两个是利于读者理解的冒泡排序,但实际使用应使用后两个(快速排序)排序以此来满足该题的时间问题。// 按 num 字段排序i <= n;j++) {// 按 id 字段排序i <= n;j++) {/ 按 num 字段比较的函数,用于 qsortreturn -1;return 1;return 0;// 按 id 字段比较的函数,用于 qsortreturn -1;return 1;

2025-04-10 23:11:47 314

原创 洛谷普及B3691 [语言月赛202212] 狠狠地切割(Easy Version)

关于切割,我有以下思路,如果切割的位置不是某段的端点,那么本次切割就会产生一个额外的一段,否则不然,所以切割的位置决定了本次切割是 “ 有效切割 ” 还是 “ 无效切割 ”。不妨设定一个结构体,结构体元素如下。

2025-04-09 23:38:43 1256

原创 洛谷普及B3640 T3 句子反转

本题难度偏易,主要操作在于函数的编写和使用,整体思维逻辑浅显,使用模块化简化成多个子问题后,本题迎刃而解。

2025-04-07 21:24:50 634

原创 洛谷普及B3621 枚举元组

同样是枚举,我觉得可以温柔一点的枚举,不要太暴力!题目评论区下面都是暴力枚举哈,有点意思,我觉得能优化的地方最好优化一下,(纯素养 非 强迫症)以上就是本人对于该题的全部思路,该题模块化解决子问题时都是挺简单的模块,整体难度一般。我测试了,该代码的测试上限在n=6,k=6;满足本题n=5;k=4;看似很接近,实际上差的还很远生成的元组内数字数量和满足count = n * k^n;排列count(6,6) = 6 * 6^6 =279936 ≈ 28万.

2025-04-06 02:46:55 1303

原创 洛谷普及P1008 [NOIP 1998 普及组] 三连击

你肯定会发现,直接通过比例关系生成的后两个三位数a2,a3,大多数都不满足三个数字互异,此时我们需要一些函数来筛选。函数代码解释。

2025-04-05 02:28:10 1305

原创 洛谷普及P1003 [NOIP 2011 提高组] 铺地毯

倒着判断是否属于第i次覆盖区域。

2025-04-04 02:31:10 1020

原创 洛谷普及B3628 机器猫斗恶龙

从后向前判断-300 - > -200 这两步需要至少 501的血量前面补给400,则400之前至少有101的血量,这样来凑够501前面又要补给200,而200>101 则无论200之前有多少血量,只要能活着到200就足够所以该步要清零,也就是说只要有一滴血能到达200补给就行,再往前推,-100,则需要101,前面又遇到400>101,则再次清零变成一滴血,

2025-04-03 00:17:18 1162

原创 洛谷普及组P1002 [NOIP 2002 普及组] 过河卒

说的轻巧,直接求各部分路径,但是路径怎么求?

2025-04-02 03:42:50 1425

原创 洛谷普及B3619 10 进制转 x 进制 和 B3620 x 进制转 10 进制

最近做的转换进制的题是真的有点多了,先看题目。

2025-04-01 02:39:03 471

原创 洛谷普及B3612求区间和

【代码】洛谷普及B3612求区间和。

2025-03-31 20:07:19 408

原创 洛谷普及B2143进制转换

对于经常倒序输出的函数,并非一定要用多余的操作来将之逆序,可以试着直接倒着储存,记得返回具体的下标位置,和字符串结束符或者结束标志,转变角度有奇效。

2025-03-30 14:13:35 260

原创 洛谷普及B2141确定进制

在函数中设下保护,防止转换的数之中存在大于进制的数,并且整体放到main中的if中。总体细节上对应题目要求还有些不足,需要使用long long来替换int,以备使用进制较长的情况// 将字符串表示的数字转换为指定进制下的十进制值int l = 0;i < l;return r;// 寻找满足 p × q = r 的最小进制b <= 16;

2025-03-30 13:37:12 675

原创 洛谷普及B2139区间内的真素数

且末尾没有逗号。这就意味着,无法直接遍历判断输出不储存(因为刚开始图方便就是这样写的,代码如下)那这样的话,我们不储存的情况无法判断当前输出的数是否是最后一个,也就无法准确的控制逗号的输出,那就稍微麻烦一点把遍历判断结果先储存,再输出,就像下述这样。关于代码优化的话,这道题应该没啥简便算法,基本上都是要暴力枚举,后来我也看了网站上的各种题解,确实基本上也都是暴力枚举,个别的转化为字符串操作的解法也没啥必要,相比之下也没有简化,所以在本篇文章中该题无优化。

2025-03-30 00:23:39 465

原创 洛谷普及B2105矩阵乘法

后来看了几种解法,但都是换汤不换药,基本逻辑都是相同的矩阵乘法通项公式。如果非要简化的话,可以优化一点细节,比如矩阵乘法部分,C矩阵赋值的时候,省去he变量,可以直接对C[y][x]赋值。还有就是数组可以直接确定为行和列101,因为题中设定了范围。

2025-03-28 20:40:28 500

原创 洛谷普及B2084质因数分解

看到最后简化的代码的简单度,真是有点emm自嘲了,首先是因为它是个普及题,然后就往复杂一点的思考,其次从这道题我也深刻意识到一个只强化编程能力远远不够,提升数学逻辑思维才是优化解决问题的根本。

2025-03-28 18:03:33 355

基于visual studio + easyx.h 开发的 2D角色 扮演运行框架,结合文章代码可测试新增玩法

基于visual studio + easyx.h 开发的 2D角色 扮演运行框架,结合文章代码可测试新增玩法。

2025-04-08

空空如也

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

TA关注的人

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