- 博客(74)
- 收藏
- 关注
原创 C++ 实现:有序数组中二分查找左右边界(首次/最后出现位置)
在算法竞赛与日常刷题中,二分查找是非常经典且高效的查找算法,时间复杂度为OlognO(\log n)Ologn。在有序非递减数组中查找给定xxx第一次出现的位置(左侧边界)。在有序非递减数组中查找给定xxx最后一次出现的位置(右侧边界)。来讲解左右边界的二分查找技巧。在同样的有序非递减数组中,查找值为xxx的元素最后一次出现的位置;若不存在,则输出 -1。输入格式与题目一一致。示例:输入:633 2 5输出:6 4 -1。
2025-05-01 07:33:50
668
原创 东方博宜OJ ——1895 - 二分查找右侧边界
在算法竞赛与日常刷题中,二分查找是非常经典且高效的查找算法。它的时间复杂度为OlognO(\log n)Ologn。本文通过一道具体题目「在有序非递减数组中查找给定xxx最后一次出现的位置(右侧边界)。」,来讲解如何使用二分查找定位右侧边界。二分查找的关键在于边界调整和后处理。练习题:查找右侧边界(最后一次出现)。在旋转有序数组中查找目标值。查找第一个大于等于x或第一个小于等于x的位置。
2025-04-30 22:56:03
1027
原创 东方博宜OJ ——1894 - 二分查找左侧边界
在算法竞赛与日常刷题中,二分查找是非常经典且高效的查找算法。它的时间复杂度为OlognO(\log n)Ologn。本文通过一道具体题目「在一个有序非递减数组中,查找给定 x 第一次出现的位置」,来讲解如何使用二分查找定位左侧边界。二分查找的关键在于边界调整和后处理。练习题:查找右侧边界(最后一次出现)。在旋转有序数组中查找目标值。查找第一个大于等于x或第一个小于等于x的位置。
2025-04-30 08:50:26
450
原创 洛谷【算法1-6】二分查找与二分答案 ——P2249 【深基13.例1】查找
【代码】洛谷【算法1-6】二分查找与二分答案 ——P2249 【深基13.例1】查找。
2025-04-29 10:52:22
344
原创 洛谷【算法1-5】贪心 ——P4995 跳跳!
排序处理:将石头高度升序排列(a[1]到a[n]方便后续用双指针选择最高和最低的石头双指针策略:l指针初始指向最低石头(a[1]h指针初始指向最高石头(a[n]跳跃逻辑:第一跳特殊处理:从地面(0)跳到最高石头l++;h--;// 移动指针边界处理:当石头数量为奇数时,最后一个石头会自动被处理使用确保所有石头都被访问。
2025-04-23 17:00:00
798
原创 洛谷【算法1-5】贪心 ——P1094 [NOIP 2007 普及组] 纪念品分组
1.排序:确保可以贪心地用最小和最大的价格尝试配对。2.双指针:- i 和 j 分别指向最小和最大价格。- 如果 P[i] + P[j] ≤ w,则这两个可以成组。- 否则,P[j] 必须单独成组。3.计数:每次循环处理至少一个纪念品,count 记录分组数。
2025-04-16 22:29:04
757
原创 洛谷【算法1-5】贪心 ——P1803 凌乱的yyy / 线段覆盖
1.结构体定义:Contest 存储比赛的开始和结束时间。2.排序规则:按 end 升序排序,确保优先选择结束早的比赛。3.贪心选择:- 如果当前比赛的开始时间 ≥ last_end,则选择该比赛。- 更新 last_end 为当前比赛的结束时间。4.输出结果:count 记录最多能参加的比赛数量。
2025-04-16 22:03:23
1211
原创 洛谷【算法1-5】贪心 ——P1223 排队接水
1.结构体 Person:存储每个人的编号 id 和接水时间 time。2.排序规则:按 time 升序排列,让接水时间短的人优先。3.等待时间计算:- current_sum 记录前面所有人的接水时间之和。- total_wait 累加每个人的等待时间(即 current_sum)。4.输出:- 第一行:按排序后的顺序输出编号。- 第二行:计算平均等待时间 total_wait / n,保留两位小数。
2025-04-15 23:32:24
1129
原创 东方博宜OJ ——2395 - 部分背包问题
1.结构体定义:Coin 存储金币堆的重量、价值和单位价值。2.排序:按 unit 降序排列,优先处理高单位价值的金币。3.贪心选择:- 如果当前堆能完整装入,直接加总价值。- 否则装入部分,比例计算为 剩余承重 * unit。4.输出:保留两位小数。
2025-04-15 22:53:36
318
原创 东方博宜OJ ——1376 - 买汽水
递归法:直观模拟兑换过程,适合通用场景(如兑换规则变化)。数学法:快速计算,但需注意边界条件(如 m < n 时结果为 0)。推荐:面试中用递归,竞赛中用数学法。
2025-04-14 23:17:22
228
原创 东方博宜OJ ——1335 - 土地分割
递归解法:直接套用欧几里得算法求 GCD(m, n)。时间复杂度:O(log(min(m, n))),非常高效。适用场景:适用于任意 m 和 n,只要它们是非负整数。
2025-04-14 22:29:40
442
原创 Docker部署SpringBoot项目(jar包+Mysql)
在dev开发环境(也就是Docker部署时)采用了mysql作为地址,刚好是我们的mysql容器名,只要两者在一个网络,就一定能互相访问。其中的application-dev.yaml是部署到开发环境的配置,application-local.yaml是本地运行时的配置。测试,通过浏览器访问:http://你的虚拟机地址:8080/search/list。因为使用了MySQL,所以Java项目和MySQL要求同一个网络下。查看项目运行logs日志信息,此时已经是以运行中。将MySQL加入到自定义的网络中。
2024-05-21 19:42:57
1202
1
原创 Docker学习-基础命令
其中,比较常见的命令有:用一副图来表示这些命令的关系:补充:默认情况下,每次重启虚拟机我们都需要手动启动Docker和Docker中的容器。# Docker开机自启# Docker容器开机自启docker update --restart=always [容器名/容器id]数据卷(volume)是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁。html:放置一些静态资源conf:放置配置文件如果我们要让Nginx代理我们的静态资源,最好是放到html目录;
2024-05-21 18:52:53
760
原创 Docker学习-快速入门
注意:这里下载的不是安装包,而是镜像。Docker官方提供了一些基础镜像,然后各大软件公司又在基础镜像基础上,制作了自家软件的镜像,全部都存放在这个网站。镜像的名称不是随意的,而是要到DockerRegistry中寻找,镜像运行时的配置也不是随意的,要参考镜像的帮助文档,这些在DockerHub网站或者软件的官方网站中都能找到。大家可以发现,当我们执行命令后,Docker做的第一件事情,是去自动搜索并下载了MySQL,然后会自动运行MySQL,我们完全不用插手,是不是非常方便。这些镜像又是谁制作的呢?
2024-05-21 18:38:00
751
原创 安装Docker(SSH和Linux)
如果以上两个安装都完成了,那么恭喜,可以开始安装Docker。首次可能需要选择立刻开通,然后进入控制台。最后,执行命令,安装Docker。这里以阿里云镜像加速为例。首先要安装一个yum工具。
2024-05-20 10:44:19
656
原创 SSH客户端(MobaXterm)
首先建议设置一下默认编辑器,这样我们通过MobarXterm的FTP工具打开文件时会以指定的编辑器打开,方便修改。在VMware界面中操作虚拟机非常不友好,所以一般推荐使用专门的SSH客户端。这样,复制和粘贴可以全部通过鼠标操作,无需按键。我的ip是192.168.181.134。怎么查看linux的地址。
2024-05-20 10:32:55
1643
原创 Linux环境搭建(miniCentOs)
首先,我们要准备一个Linux的系统,成本最低的方式就是在本地安装一台虚拟机。为了统一学习环境,不管是使用MacOS还是Windows系统的同学,都建议安装一台虚拟机。windows采用VMware,Mac则采用Fusion。
2024-05-20 10:18:35
725
原创 Spring后端参数校验——自定义校验方式(validation)
已有的注解不能满足所有的校验需求,特殊的情况需要自定义校验(自定义校验注解)1、注解State/**// 提供校验的条件,这里只校验是否为已发布或草稿 String message() default "state参数只能是已发布或草稿";// 指定分组 Class <?// 负载 Class <?/**// 提供校验的条件,这里只校验是否为已发布或草稿 String message() default "state参数只能是已发布或草稿";// 指定分组 Class <?
2024-05-08 21:53:42
1231
1
原创 最新版本Vue3的学习笔记-第五章
此时开发者工具中已经有了。的实体,每个组件都可以。第一种修改方式,直接修改。第二种修改方式:批量修改。中可以编写一些业务逻辑)第三种修改方式:借助。
2023-12-30 15:41:07
1342
原创 最新版本Vue3的学习笔记-第四章
缺点:后期项目上线,需要服务端配合处理路径问题,否则刷新会有。通过点击导航,视觉效果上“消失” 了的路由组件,默认是被。作用:让路由组件更方便的收到参数(可以将路由参数作为。优点:兼容性更好,因为不需要服务器端处理路径。作用:控制路由跳转时操作浏览器历史记录的模式。作用:可以简化路由跳转及传参(后面就讲)。作用:将特定的路径,重新定向到已有路由。浏览器的历史记录有两种写入方式:分别为。参数时,需要提前在规则中占位。文件夹,一般组件通常存放在。掉的,需要的时候再去。的对象写法,必须使用。
2023-12-26 19:35:29
1240
原创 [Vue warn]: injection “Symbol(router)“ not found.
vue3,使用路由的时候报错main.ts:8 [Vue warn]: injection “Symbol(router)” not found.at。
2023-12-26 16:21:22
4929
2
原创 最新版本Vue3的学习笔记-第三章(下部)
什么是hook?—— 本质是一个函数,把setup函数中使用的进行了封装,类似于vue2.x中的mixin。自定义hook的优势:复用代码, 让setup中的逻辑更清楚易懂。useSum.ts})//向外部暴露数据useDog.ts// 方法try {// 发请求// 维护数据// 处理错误// 挂载钩子getDog()})//向外部暴露数据当前求和为:{{sum}}
2023-12-25 17:11:08
1215
1
原创 苍穹外卖——地址簿功能
这里面有一个字段is_default,实际上我们在设置默认地址时,只需要更新这个字段就可以了。用户的地址信息会存储在address_book表,即地址簿表中。分析每个接口,明确每个接口的请求方式、请求路径、传入参数和返回值。设计接口,共包含7个接口。
2023-12-03 16:23:41
1316
原创 Redis缓存——Spring Cache入门学习
Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。</</</</
2023-12-01 19:48:11
1181
原创 Springboot——HttpClient入门(Get和Post)
HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。发送HTTP请求接收响应数据当我们在使用扫描支付、查看地图、获取验证码、查看天气等功能时其实,应用程序本身并未实现这些功能,都是在应用程序里访问提供这些功能的服务,访问这些服务需要发送HTTP请求,并且接收响应数据,可通过HttpClient来实现。</</</</
2023-11-29 10:48:36
1580
原创 在Springboot中操作Redis——五大数据类型
Spring Data Redis 是 Spring 的一部分,提供了在 Spring 应用中通过简单的配置就可以访问 Redis 服务,对 Redis 底层开发包进行了高度封装。在 Spring 项目中,可以使用Spring Data Redis来简化 Redis 操作。网址:https://spring.io/projects/spring-data-redisSpring Boot提供了对应的Starter,maven坐标:</</</ValueOperations:string数据操作。
2023-11-29 10:03:45
1507
原创 云存储解决方案-阿里云OSS
阿里云对象存储服务(Object Storage Service,简称OSS)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。阿里云OSS将数据文件以对象(object)的形式上传到存储空间(bucket)中。创建一个或者多个存储空间,向每个存储空间中添加一个或多个文件。通过获取已上传文件的地址进行文件的分享和下载。通过修改存储空间或文件的属性或元信息来设置相应的访问权限。
2023-11-22 11:46:10
1032
原创 苍穹外卖遇到的问题—员工分页查询
系统中的员工很多的时候,如果在一个页面中全部展示出来会显得比较乱,不便于查看,所以一般的系统中都会以分页的方式来展示列表数据。而在我们的分页查询页面中, 除了分页条件以外,还有一个查询条件 “员工姓名”。
2023-11-21 21:25:19
361
课程设计SSM的超市管理系统
2023-12-01
SpringBoot+Vue前后端分离仓库管理系统
2023-12-01
SpringBoot+Vue 前后端 宿舍管理系统
2023-12-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人