自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 LeetCode 41. 缺失的第一个正数 | 原地哈希最优解全解析

摘要: 「缺失的第一个正数」问题要求在O(n)时间、O(1)空间内,通过原地哈希将数组本身转化为哈希表。核心思路是让正整数x占据索引x-1的位置,通过交换实现原地存储。最终遍历数组,首个不满足nums[i]=i+1的索引i+1即为答案。该方法避免了额外空间,典型场景包括数据校验和快速定位缺失值。从暴力解法(O(n²))到哈希优化(O(n)空间),最终演进出最优的原地哈希方案,完美符合题目限制条件。

2025-12-13 22:01:51 921

原创 LeetCode 49. 字母异位词分组 | 从排序到计数的哈希表优化之路

本文介绍了LeetCode「字母异位词分组」题目的两种解法:暴力法和优化法。暴力法通过两两比较和排序判断异位词,时间复杂度为O(n²k log k),效率较低。优化法利用哈希表,以排序后的字符串为键自动分组,时间复杂度降为O(nk log k)。文章详细解析了两种方法的实现逻辑、代码示例和复杂度分析,并附有图文演示说明哈希表的工作过程。最终推荐采用排序+哈希表的优化方案,能高效解决字母异位词分组问题。

2025-12-12 23:14:46 844

原创 LeetCode 189. 旋转数组 | 三步反转最优解全拆解

本文探讨了「旋转数组」问题的多种解法,从暴力模拟到最优原地旋转方案。暴力解法(O(n²))虽直观但效率低;优化解法(O(n)空间)利用额外数组提升速度;最优解法(三步反转法)实现O(n)时间与O(1)空间的完美平衡,通过三次数组反转完成原地旋转。该问题不仅考察数组操作技巧,更体现了算法设计中「用最少资源解决问题」的核心思想,其反转思路可应用于循环数组、数据位移等实际场景。

2025-12-12 23:00:40 783

原创 LeetCode 238. 除自身以外数组的乘积 | 前缀后缀优化全解析

本文探讨了「除自身以外数组的乘积」问题的解法优化路径。首先分析暴力解法(O(n²)时间)的不足,提出通过前缀/后缀乘积数组(O(n)时间/空间)来避免重复计算。最终给出最优解法:利用输出数组存储前缀积,配合临时变量计算后缀积,实现O(n)时间复杂度和O(1)额外空间复杂度(输出数组除外)。文章通过具体示例和代码实现,展示了如何逐步优化该问题的解决方案。

2025-12-11 23:12:44 592

原创 LeetCode 56. 合并区间 | 排序 + 贪心最优解全拆解

摘要: 「合并区间」问题考察排序与贪心策略的结合,通过合并重叠或相邻区间返回不重叠结果。暴力解法(两两比对)效率低(O(n²)),优化解法先按起始值排序(O(n log n)),再单次遍历合并(O(n)),显著提升效率。适用于日程冲突检测等场景。示例:输入 [[1,3],[2,6]] 输出 [[1,6]],核心步骤为排序后比较相邻区间边界,动态更新合并结果。

2025-12-10 23:05:10 1022

原创 LeetCode 1. 两数之和 | 从暴力到哈希表的优化之路

摘要:LeetCode经典入门题「两数之和」通过暴力解法和哈希表优化两种方案,展示了算法优化的核心思维。暴力解法采用双重循环遍历所有组合,时间复杂度O(n²);而优化方案利用哈希表存储已遍历元素,将查找时间降至O(1),实现O(n)时间复杂度。该题体现了「空间换时间」的优化策略,是理解数组遍历和哈希表应用的典型案例。掌握这一思路后,可进一步挑战三数之和、四数之和等进阶题目。

2025-12-09 23:08:53 775 1

原创 LeetCode 3. 无重复字符的最长子串 | 滑动窗口+哈希表最优解拆解

本文介绍了LeetCode经典题目「无重复字符的最长子串」的三种解法:暴力枚举法(O(n²))、基础滑动窗口(O(n))和优化滑动窗口(哈希表优化)。通过图文示例和代码实现,详细解析了如何从双重循环逐步优化到O(n)时间复杂度的最优解,重点讲解了滑动窗口的核心逻辑和边界处理。该题目是学习字符串处理和算法优化的典型案例,实际开发中常用于去重和子串匹配场景。

2025-12-08 23:16:11 1109 1

转载 字符串算法面试通关宝典:从基础到进阶,搞定高频考点

双指针模板(反转、回文判断)。滑动窗口模板(子串问题通用框架)。KMP 算法模板(LPS 数组 + 匹配逻辑)。动态规划模板(字符串类 DP 状态定义通用思路)。理解底层存储特性,规避不可变性带来的性能问题。熟练运用双指针、滑动窗口等技巧,将复杂问题拆解为线性遍历。针对不同场景选择最优算法(如子串问题用滑动窗口,子序列问题用动态规划)。结合语言特性优化实现(如 Go 中的 rune、strings.Builder)。

2025-11-16 18:52:02 26

原创 Java学习---Redis基础操作

`Redis` 是一种基于内存管理的数据库,并且提供一定的持久化功能,它是一种键值(**key - -value**)类型的非关系型数据库,和 `hash` 的索引方式一样,使用键作为作为索引就可以找到当前进行缓存的数据,并且将数据返回给程序的调用者。

2022-01-22 10:31:04 1614

原创 java学习---Redis安装使用

redis的本地安装和服务器安装使用

2021-12-30 08:24:49 550

原创 java学习---搭建文件管理服务器

利用fastdfs快速搭建文件管理服务器

2021-11-09 08:13:12 6385 2

原创 java学习---消息队列 RabbitMQ

在高并发的系统中,大量用户的请求涌进数据库会造成数据库的宕机,消息队列可以将大量的消息进行限流,同时也可实现一个延时响应来保证服务器能够保持在最高效的状态进行响应。

2021-09-20 18:39:33 1091

原创 java学习---Nginx 反向服务代理

在网关路由匹配的情况下,要想保证网关的高可用性,也就是需要对网关集群部署,但是网关接入是属于外部情况,一般的服务中心无法进行管理 ,也就需要外部的一个容器来对其均衡系列的操作。而 Nginx 作为反向代理的一个产品,在这个方面有着很好的优势,下面就来进入对 Nginx 的简单学习,学会对应的安装,网站的部署反射等等功能......

2021-09-20 08:21:08 2759 5

原创 java学习---dubbo+zookeeper微服务架构

Dubbo+Zookeeper微服务架构1、Apache Dubbo概述 1.1、Dubbo简介 1.2、Dubbo的服务架构2、服务注册中心 Zookeeper 2.1、ZooKeeper介绍 2.2、ZooKeeper安装 2.3、启动 ZooKeeper3、ZooKeeper快速入门 3.1、服务提供方 3.2、服务消费方 3.3、问题思考4、 Dubbo管理控制台 4.1、安装 4.2、使用5、 Du

2021-09-02 20:32:07 2408 2

原创 java学习---Spring Cloud Config分布式配置中心

Spring-Cloud-Config 分布式配置 1、简介 1.1、问题 1.2、服务架构 1.3、仓库2、仓库创建 2.1、创建远程仓库 2.2、创建配置文件3、搭建配置中心微服务 3.1、添加项目依赖 3.2、配置启动类 3.3、添加配置文件 3.4、启动测试4、获取配置中心配置文件 4.1、添加依赖 4.2、修改配置 4.3、启动测试5、Spring Cloud Bus服务总线&n

2021-08-23 12:42:34 1897

原创 java学习---spring-cloud-gateway网关配置

Spring Cloud Gateway一、 简介 1.1、名词概念 1.2、服务核心 1.3、服务架构二、 部署 2.1、依赖管理 2.2、启动类 2.3、配置文件三、 路由 3.1、id 3.2、uri 3.3、predicates 3.4、filters四、 跨域 4.1、源地址 4.2、请求方式五、 过滤器 5.1、简介 5.2、 配置全局默认过滤器 

2021-08-22 17:35:40 3992

原创 java学习---面向对象进阶

面向对象进阶1、权限访问  1.1 封装对象  1.2 权限修饰符2、代码块 2.1 普通代码块 2.2 构造代码块 2.3 静态代码块3、当前对象和父类对象的访问 3.1 this(当前对象) 3.2 super(父类对象)4、包 4.1 包的含义 4.2 包的使用 4.3 import 关键字5、入口方法详解1、权限访问  1.1 封装对象     

2021-08-03 17:41:26 2043

原创 课程设计---快递管理系统(boostrap + servlet + jQuery + Redis + MySQL)

本文介绍了一个基于Web和微信端的快递管理系统设计方案。系统采用SpringMVC开发模式,分为控制层、服务层、数据层和模型层,使用MySQL5.7+JDK11+Redis技术栈。系统包含两大模块:Web后台管理(管理员登录、快递/用户管理、数据展示)和微信用户平台(快递查询、取件码生成等)。数据库设计包括管理员表、快递表和用户表,其中快递表包含单号、公司、状态等关键字段。系统旨在疫情期间实现无接触快递管理,通过计算机自动化减少人员接触,提高服务效率。

2021-07-27 16:40:06 17646 33

原创 课程设计---图书管理系统客户端(VC)

本文设计了一个高校图书管理系统,旨在实现图书馆信息化管理,提高工作效率。系统分为四个开发阶段:功能分析设计、界面设计、代码实现和界面美化。主要功能模块包括:系统登录验证、图书信息管理、学生信息管理、图书借阅管理和管理员权限控制等。系统采用MySQL数据库,设计了图书信息表、借阅管理表、学生信息表和管理员表四个核心数据表。通过树形控件和模糊查询等技术实现快速检索功能,并提供完善的数据增删改查操作。该系统能够有效简化图书管理流程,满足高校图书馆日常管理需求,显著提升工作效率和服务质量。

2021-06-15 21:25:18 3555 13

原创 cocoscreator 搭建小游戏

文章目录1、 游戏基本介绍1.1 游戏介绍1.2 游戏思想2、 游戏规划3、 游戏功能设计 3.1 地图设计 3.2 界面设计 3.3 交互设计 3.4 角色设计 3.5 敌人设计 3.6 装备设计4、 游戏程序设计 4.1 HeroControl.js 4.2 BoxControl.js 4.3 AllControl.js 4.4 HitDetect.js 4.5 TreasureControl.js 4.6 NpcControl.js 4.7 LoginControl.js 4.8 MonsterCon

2021-06-14 14:12:35 17349 19

原创 java学习---OutputStream

文章目录FileOutputStream1、 简介2、 方法解释 2.1 方法描述 2.2 方法解释  2.2.1 `FileOutputStream(File file)`  2.2.2 `FileOutputStream(File file, boolean append)`  2.2.3 `FileOutputStream(String name)`  2.2.4 `FileOutputStream(String name, boolean append)`  2.2.5 `write(int b)`

2021-05-29 17:11:32 3610

原创 java学习---XML&JSON

文章目录XML & JSON1、 XML 1.1 XML 介绍  1.1.1 What is it?  1.1.2 名词解释 1.2 XML 语法格式  1.2.1 文档声明  1.2.2 元素标记  1.2.3 内容解析  1.2.4 内容注释 1.3 XML 注意问题  1.3.1 根标记唯一  1.3.2 标记不可交叉 1.4 XML 解析方式  1.4.1 SAX解析  1.4.2 DOM解析  1.4.3 JDOM解析  1.4.4 DOM4J解析2、 XML 解析 &

2021-05-23 19:43:08 2739

原创 java学习---多线程

文章目录多线程1、 简介 1.1 名词解释 1.2 线程调度 1.3 线程六个状态 1.4 多线程的意义2、 线程创建方法 2.1 继承 Thread 类 2.2 实现 Runable 2.3 实现 Callable 接口3、 线程使用 3.1 线程的中断  3.1.1 stop()  3.1.2 interrupt() 3.2 线程安全问题  3.2.1 问题引出  3.2.2 同步代码块  3.2.3 同步方法  3.2.4 显示加锁 3.3 线程死锁问题  3.3.1 问题引出  3.3.2 代码测试

2021-05-22 15:55:22 2862

原创 基于人脸识别的口罩识别算法

本文提出了一种基于深度学习的口罩检测算法,旨在替代人工检测以节省人力物力。算法分为三个模块:1)使用MobileNetV2构建二分类模型,通过70%置信度阈值判断是否佩戴口罩;2)对单张图片进行测试,标注识别结果;3)实时视频流检测。系统通过人脸检测和口罩识别,可自动标记未佩戴口罩者。该方案在公共场所疫情防控中具有实用价值,代码已在GitHub开源。

2021-05-12 15:40:13 16303 14

原创 java学习---Object类

文章目录Object类1、 简介2、 作用3、 方法解释 3.1、 方法摘要 3.2、 方法详情  3.2.1 、`toString()`   3.2.2 、`equals(Object obj)`  3.2.3 、`hashCode()`  3.2.4 、`getClass()`  3.2.5 、`clone()`  3.2.6 、`wait()`  3.2.7 、`notify()`  3.2.8 、`notifyAll()`  3.2.8 、`notifyAll()`Object类1、 简介 

2021-05-11 16:11:52 2846 1

原创 java学习---面向对象基础

本文介绍了面向对象编程的基本概念和核心思想。主要内容包括: 面向对象思想概述:与面向过程的区别,从执行者到指挥者的思维转变; 面向对象三大思想(OOA、OOD、OOP)和三大特征(封装、继承、多态); 类与对象的关系:类作为共性产物包含属性和方法,对象是个性实例; 对象创建的内存分析:详细说明了栈、堆、方法区等内存区域的存储机制; 构造方法的定义与使用:包括构造方法的作用、执行时机、重载等特性。 文章通过代码示例和内存图解,系统性地讲解了面向对象编程的基础知识,为后续深入学习Java面向对象编程奠定了理论基

2021-05-07 17:40:24 2855

output_yolo.avi

目标检测

2021-05-12

空空如也

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

TA关注的人

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