- 博客(36)
- 收藏
- 关注
原创 017搜索之深度优先DFS——算法备赛
深度优先遍历是用递归实现的,预定一条顺序规则(如上下左右顺序) ,一直往第一个方向搜索直到走到尽头或不满足要求回溯到上一个叉路口按第二个方向继续搜索,以此类推。
2025-06-01 23:12:30
878
原创 016搜索之广度优先BFS——算法备赛
广度优先搜索是一种逐层遍历的方式,是图论,树论的基本搜索方式,在决策类问题上也有应用。算法的关键是准备一个`节点队列`,每遍历一个节点将其所有未访问的子节点(或所有的邻接节点)入队,遍历完一个节点后及时从队列中出队。当队列为空遍历结束。BFS作为基础搜索算法,其逐层扩散的特点在很多高级算法有着广泛的应用,如`Djstra`算法就是用优先队列实现的`BFS`。
2025-05-27 21:52:10
1243
原创 015枚举之滑动窗口——算法备赛
给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。见代码注解。
2025-05-12 19:19:52
1381
原创 powershell批处理——io校验
在刷题时,时常回想,OJ平台是如何校验竞赛队员提交的代码的,OJ平台并不看代码,而是使用“黑盒测试”,用测试数据来验证。对于每题,都事先设定了很多组输入数据(datain)和输出数据(dataout),OJ主要是看输入datain,看产生的输出是否与dataout一致。如果需要一次性知道自己的所有测试输入数据是否能得到正确输出,一个一个测试就太慢了,批处理操作就能很好解决这个问题。本篇文章主要介绍一下这个ioCode小项目,主要用于批处理校验输入输出,搭建本地的评测平台。
2025-05-07 21:52:06
1058
原创 014枚举之指针尺取——算法备赛
枚举是数据结构与算法中基本的操作,常用于解决序列的区间问题。算法界将"双指针"视为其重要分支,类似地当然还有"三指针",“四指针”,最常见的还是“双指针”,我认为它们应统称为“指针尺取”。双指针无疑就是定义两个变量记录内存空间位置(一般为线性数组下标)来进行枚举,常见的枚举策略有“反向扫描”,“同向扫描”。
2025-05-05 20:56:18
972
原创 013几何数学——算法备赛
具体的,我们可以先枚举所有可能出现的 直线斜率(根据两点确定一条直线,即枚举所有的「点对」),使用「哈希表」统计所有 斜率 对应的点的数量,在所有值中取 max 即是答案。一些细节:在使用「哈希表」进行保存时,为了避免精度问题,我们直接使用字符串进行保存,同时需要将 斜率 约干净。为避免除法精度问题,当我们枚举两个点 x 和 y 时,不直接计算其对应直线的 斜率和 截距。根据「朴素解法」的思路,枚举所有直线的过程不可避免,但统计点数的过程可以优化。个交叉点,与前面直线平行,将平面多划分。
2025-04-28 23:35:18
1071
原创 windows系统自定义powshell批处理脚本
前几天看到大神自定义批处理骚操作操作,觉得很有意思,本篇文章记录一下入门学习笔记。PowerShell 是一种功能强大的脚本语言和命令行外壳,基于.NET Framework,广泛应用于 Windows 系统管理、自动化任务执行、系统配置等领域。编写powershell脚本首先要找到系统默认寻找的脚本路径在F:\文档中创建目录,再在该目录下创建文件在文件中就可以编写我们的脚本了,每次打开powershell都会加载该文件。
2025-04-24 23:33:26
1145
原创 009思维——算法备赛
给定一个整数组a,数组中一个正数和一个负数可以合并成一个值为两者之和的新元素,问数组能不能经过若干次合并后元素个数只剩一个。能打印“Y”,不能打印“N”。第一行输入一个N,代表数组大小,第二行输入N个数,分别代表元素值a1,a2,a3,an…首先,无论如何操作,最后的结果一定是所有元素之和sum,sum为正数时,说明负数总和是较低的,最优策略是去掉最大正数后,让剩余的所有数进行合并,若剩余所有数合并后还是一个正数,说明该数组最后无法合成只剩一个数, 反之说明该数组可以合并只剩一个数。
2025-04-15 17:20:08
593
原创 008二分答案+贪心判断——算法备赛
从猜答案出发,贪心地判断该答案是否合法是个不错的思路,这要求所有可能的答案是单调的(例:x满足条件,大于x的数肯定满足条件),以便使用二分快速查找到题目要求的。(贪心判断函数)为true时,说明mid是满足条件的,那[mid,R]都满足条件,为保持R代表的含义(满足条件的已知最大值)始终不变,应该将。(贪心判断函数)为false时,为保持L代表的含义(答案的下界)始终不变,应该将。,R初始时是满足条件的已知最大值,L是答案的下界(可以推断答案不会小于L),当。时的R就是最优所求的答案。
2025-04-10 21:12:53
737
原创 学习前端token解析
Token 通常是(JWT),它是一种用于在网络应用间安全传递信息的开放标准(RFC 7519)。前端解析 Token 主要是为了获取其中包含的等内容。JWT 由三部分组成,通过分隔,分别是头部(Header)、载荷(Payload)和签名(Signature)。其中,头部和载荷是经过 Base64Url 编码的 JSON 字符串,我们可以对其进行解码来获取其中的信息。
2025-03-16 14:50:46
377
原创 # 使用springboot @RequestBody接收不到指定字段的参数
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?发送请求时,前端传的参数和后端规定的参数一样。浏览相关博客,发现有博主和我有同样的问题:当后端字段使用小驼峰命名时,确会有这样封装不到这样的问题。此时后端对应的成员变量名若还想使用小驼峰命名,可在成员变量上加。改为其他名字,发现有的可以正常接收(如。为请求参数的字段名,这样前端请求体。字段就能封装到对应的成员变量上了。
2025-01-04 18:07:46
548
2
原创 Vue路由入门总结
在router目录下的index.js中定义路由配置// 整个应用的路由器对象import VueRouter from 'vue-router' //引入路由器import HomeView from '../views/HomeView.vue' //引入组件import AboutView from '../views/AboutView.vue' //引入组件Vue.use(VueRouter) //使用路由器插件。
2024-12-30 21:08:10
334
原创 Vue中常见指令修饰符的学习总结
指令用于定义事件,简写为“@”。修饰符写在事件定义后。示例部分解释修饰符当我们定义键盘事件时,想只点击某个键才触发事件时,可以使用该修饰符。表示键的键值,表示键的别名(如enter)。注:tab键按下会自动切换标签焦点,必须配合keydown事件使用Vue.config.keyCodes.自定义别名=键码。指令用于双向绑定表单属性(一般为value属性)。修饰符写在变量绑定后。示例部分解释修饰符默认情况下,绑定的变量接收输入框元素中的值默认为字符串类型,有时候传输数据到后端时,要求是数字类型,此时修饰
2024-12-26 15:19:29
272
原创 Object对象
上述例子实现更改num的值,obj的sum属性值也更改,修改obj的sum属性的值,num也更改,实现数据的双向绑定。返回一个包含目标对象所有可枚举的属性键与值的数组,每个键值对封装在一个子数组中。直接在一个对象上新增一个新属性,或者修改一个对象的现有属性, 并返回这个对象。常规定义的对象的属性,有一些默认配置,如:可枚举,可删除,可被更改(非常量)等。get():当属性值被读取时被调用,读取的值,就是get()的返回值。上述例子中,通过为obj2添加属性x,实现代理obj1中的属性x。
2024-12-09 10:36:39
819
原创 java中关于继承的总结
在创建子类时,一定要先将父类创建出来,虚拟机会在子类的构造器第一行默认调用**super()(父类的无参构造器)首先定义一个父类Fu,它有一个私有成员name,和其对应的公开的get,set方法。第3点注意事项说明,创建一个子类,其祖先类都会被创建出来,这说明其祖先类的所有成员。,虽说子类只能继承其父类的非私有成员,但其私有成员存在于该子类的。上述例子说明,虽然父类的私有成员不能继承到子类,成为子类的成员,成员,继承到子类,成为子类的成员时,访问权限不变。成员继承到子类,成为子类的成员时,访问权限会变为。
2024-09-19 13:55:29
462
空空如也
gtk4.0在VS2022中无法运行
2024-01-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人