自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

业精于勤,荒于嬉

感谢大佬们的阅读欢迎指正

  • 博客(419)
  • 收藏
  • 关注

原创 面试-浅复制和深复制?怎样实现深复制详细解答

浅拷贝与深拷贝的实现与分析 本文深入探讨了前端开发中的两种数据复制方式:浅拷贝和深拷贝。浅拷贝仅复制对象的第一层属性,而深拷贝会递归复制所有层级,创建一个完全独立的新对象。 文章介绍了常见快捷方法如JSON.parse(JSON.stringify(obj))的优缺点,并详细讲解了实现深拷贝的正确思路。重点包括:对象/数组递归处理、特殊类型(Date/RegExp/Map/Set)处理、循环引用解决方案等。 文中提供了一个功能完善的deepClone实现,支持多种数据类型和循环引用,并附有详尽注释。最后通过

2025-10-26 16:00:51 1021 1

原创 计算机操作系统 - 设备管理

本文介绍了计算机操作系统中磁盘设备管理的核心概念与调度算法。首先解析了磁盘的物理结构(盘面、磁道、扇区等)及其对访问性能的影响,指出寻道时间通常是主要延迟来源。接着详细阐述了FCFS、SSTF、SCAN等经典磁盘调度算法的原理、实现方式及优缺点,其中SCAN类算法能较好平衡效率与公平性。最后讨论了现代存储技术(如SSD)对传统调度策略的挑战,指出SSD更关注写放大和垃圾回收等问题。文章通过数学模型和示例说明不同场景下的算法选择依据,为理解磁盘性能优化提供了系统性的知识框架。

2025-10-26 15:42:48 940

原创 计算机操作系统 — 链接

这篇文章深入浅出地讲解了C程序从源代码到可执行文件的完整编译过程,重点剖析了链接机制的核心原理。通过清晰的流程图和命令行示例,文章将编译流程分解为预处理、编译、汇编和链接四个阶段,并对比了静态链接与动态链接的优缺点。作者还提供了实用的实验命令,帮助读者动手验证理论知识,最后通过总结表格强化关键概念。全文以"hello world"程序为例,生动展示了计算机系统底层的工作机制,适合想深入理解程序构建过程的开发者阅读。

2025-10-26 15:32:43 655

原创 计算机操作系统 — 进程管理

进程管理摘要 进程是资源分配的基本单位,线程是独立调度的最小单位,共享进程资源。进程状态包括就绪、运行和阻塞,通过调度算法切换。批处理系统采用FCFS、SJF等算法,交互式系统使用时间片轮转或优先级调度。进程同步通过临界区互斥实现,信号量机制(如down/up操作)解决生产者-消费者问题,而管程(Monitor)封装共享资源访问,提供更安全的同步控制。管程相比信号量更高级,自动管理互斥,减少用户错误。

2025-10-24 18:35:08 1512 2

原创 计算机操作系统 — 概述

本文概述了计算机操作系统的核心概念与功能。操作系统作为硬件与软件间的桥梁,具备并发、共享、虚拟和异步四大特征。其主要功能模块包括进程管理、内存管理、文件系统和设备管理。文章还介绍了系统调用的作用机制,对比了宏内核与微内核的设计差异,并阐述了中断的分类。通过表格和类比,帮助读者理解操作系统的抽象资源管理、任务调度和安全保护等核心机制。

2025-10-24 10:42:14 1160

原创 [特殊字符] 当 AGI 到来:人类与“第二智能”的未来共生

摘要: AGI(通用人工智能)正从科幻走向现实,它将突破窄AI的局限,具备跨领域学习、推理和理解能力。文章解析了AGI的四个发展阶段(感知→认知→推理→自我意识),并探讨其可能重塑就业、伦理与文明形态。面对AGI,人类需从"对抗"转向"共生",核心竞争力将转向创造力与伦理判断。AGI不是终点,而是人类重新定义智慧与存在的新起点,我们既需警惕风险,更应拥抱这场智能革命的机遇。 (字数:150)

2025-10-14 09:18:07 811

原创 中秋节与 Spring Boot 的思考:一场开箱即用的团圆盛宴

摘要: 本文巧妙地将Spring Boot框架与传统中秋节习俗类比,揭示其核心优势。Spring Boot的"开箱即用"特性如同中秋团圆饭,省去复杂配置;各种Starter依赖好比多口味月饼,满足不同需求;自动配置功能像赏月前的贴心准备;Spring Cloud则对应家族大聚会,实现微服务协作;Actuator则如猜灯谜般提供健康检查。通过中秋元素与Spring Boot特性的对应关系,生动展现了该框架如何简化开发流程,让开发者专注业务创新,如同中秋佳节般带来高效与愉悦的编程体验。

2025-10-06 16:07:43 1109 2

原创 中秋佳节与 Java 的奇妙联想

《中秋佳节与 Java 的奇妙联想》将传统节日元素与编程概念巧妙结合:月亮象征高内聚低耦合的系统架构;月饼的多馅料对应Java多态特性;团圆饭体现并发编程的协作精神;明月普照类比Java跨平台特性;猜灯谜则如同代码调试的思维挑战。文章通过生动类比,展现了编程与生活的共通之处——追求和谐与圆满,既传递了节日温情,又科普了Java核心概念,适合技术爱好者在中秋氛围中轻松阅读。(149字)

2025-10-06 10:19:06 686

原创 正则表达式入门与进阶(优化版)

正则表达式入门与进阶:跨语言实战指南 本文系统介绍了正则表达式的核心概念与实战技巧,通过对比Java、JavaScript、Python三大语言的实现差异,帮助开发者快速掌握文本处理利器。内容涵盖: 基础语法:元字符、字符类、量词、边界匹配 进阶功能:分组捕获、回溯引用、前后查找断言 实战案例:邮箱验证、IP匹配、HTML标签提取、文本替换 性能优化:避免回溯陷阱、贪婪与懒惰模式选择 跨语言差异:不同引擎对正则特性的支持程度 文中通过可视化示意图(如GIF演示量词匹配过程)和15+个典型示例,将抽象语法转化

2025-10-04 18:36:23 1048

原创 代码可读性的详细入门

本文总结了提升代码可读性的实用方法,强调可读性对开发效率和维护成本的重要性。主要内容包括:1)使用语义化命名避免歧义;2)保持良好代码风格(缩进、对齐等);3)合理注释(记录设计思路、标记特殊事项);4)优化控制流(简化条件、减少嵌套);5)变量管理(缩小作用域、避免全局变量);6)函数抽取(单一职责、适度拆分)。文章指出,代码是团队沟通语言,应坚持"写给人看"的原则,通过系统性方法提高可读性,降低维护难度。

2025-09-05 21:41:02 1065

原创 重大更新Claude更新用户协议把中国列为敌对国家

Claude Anthropic官网几分钟前更新用户协议把中国列为敌对国家,文章链接

2025-09-05 16:47:39 1295

原创 Docker从零搭建MySQL主从复制集群

本文介绍了使用Docker搭建MySQL主从复制集群的详细步骤。MySQL主从复制通过主库记录二进制日志,从库读取并重放日志实现数据同步,具有数据备份、读写分离、数据分析等优势。文章详细讲解了主从数据库的配置文件设置、容器创建过程,包括数据卷挂载、端口映射等关键配置。重点说明了如何在主库创建同步用户、查看主库状态,以及在从库配置主从复制关系的关键命令。整个过程涉及Docker容器管理、MySQL权限配置和主从复制参数设置,为构建高可用MySQL集群提供了实践指导。

2025-08-26 08:42:14 1095

原创 Docker基本使用方法和常用命令

本文介绍了Docker平台的基本使用方法与常用命令。主要内容包括:1)运行容器并加载镜像的基本操作及参数说明;2)容器后台运行的特点和注意事项;3)镜像操作命令如搜索、下载、上传、删除等;4)容器操作命令如运行、查看、启停、日志管理等;5)容器资源限制设置(内存、CPU、I/O);6)容器文件操作和进程管理。文章详细列举了各命令的具体用法和参数说明,为Docker使用者提供了实用的操作指南。

2025-08-25 19:22:32 1356

原创 从认识Docker到安装

Docker入门指南:体系架构与安装教程 本文系统介绍了Docker的基础知识,包括其C/S架构(客户端/守护进程)、核心组件(镜像、容器、仓库)以及安装方法。Docker镜像作为只读模板可创建多个容器实例,容器间相互隔离。文章提供了CentOS和Ubuntu的详细安装步骤,包括配置镜像加速器(阿里云、清华源等),并解释了常用命令如docker run、docker commit等。通过Hello-world示例验证安装,帮助初学者快速掌握Docker的基本概念和使用方法,为容器化开发和部署奠定基础。

2025-08-25 18:51:27 932

原创 普通二叉树 —— 最近公共祖先问题解析(Leetcode 236)

本文解析了如何在普通二叉树中寻找两个节点的最近公共祖先(LCA)。与二叉搜索树不同,普通二叉树没有节点值的有序性,因此需要采用后序遍历加递归回溯的方法。核心思路是:若当前节点是目标节点之一或左右子树均找到目标节点,则当前节点即为LCA。文章通过图示和代码示例(Java实现)详细解释了这一过程,时间复杂度为O(n),空间复杂度为O(h)。该方法是解决树结构问题的常见递归套路,适用于更广泛的二叉树相关问题。

2025-06-02 09:51:08 1111

原创 二叉查找树 —— 最近公共祖先问题解析(Leetcode 235)

本文解析了二叉查找树(BST)中寻找两个节点最近公共祖先(LCA)的问题(Leetcode 235)。利用BST的有序特性,当当前节点值大于p和q时向左子树搜索,小于时向右子树搜索,介于两者之间时即为LCA。通过图示和Java代码展示了具体实现,时间复杂度在平衡BST时为O(log n),最坏情况下为O(n)。该方法比普通二叉树更高效,建议通过画图练习加深理解。

2025-06-02 09:45:04 887

原创 算法的学习笔记— 构建乘积数组(牛客JZ66)

本文介绍了构建乘积数组的算法问题。给定数组A,要求构造数组B,其中B[i]等于A中除A[i]外所有元素的乘积。解题关键在于采用两次遍历:从左到右计算各元素左侧乘积,再从右到左计算右侧乘积,最后将两者相乘得到结果。该算法时间复杂度为O(n),空间复杂度优化至常数级别,且不使用除法运算。文章详细解析了算法思路、代码实现、复杂度分析,并探讨了在图像处理、金融分析等领域的应用场景,以及与相关算法的对比。该解法高效且通用,是面试中的经典问题。

2025-05-25 12:18:51 1103

原创 我的二周年创作纪念日

😀前言两周年啦记录一下。

2025-04-05 14:38:11 886

原创 算法的学习笔记—不用加减乘除做加法

通过位运算实现加法是一个既优雅又富有启发性的例子,它不仅展示了位运算的强大功能,也帮助我们更好地理解计算机的工作原理。虽然在日常编程中我们很少需要这样实现加法,但这种思维方式对于解决其他复杂的位运算问题很有帮助。😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集手写机制微服务组件spring_尘觉springMVCmybits🤔欢迎大家加入我的社区尘觉社区文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁。

2025-01-07 10:43:14 1057

原创 算法的学习笔记—不用常规控制语句求 1 到 n 的和

本文探讨了一种在禁用常规控制语句(如循环、条件、乘除运算等)的情况下,如何利用递归和逻辑运算符短路特性求解1到n的和的创新方法。通过将递归终止条件转换为逻辑与运算的短路判断(n>0 && ...),成功规避了传统实现中的语法限制。该方案时间复杂度为O(n),空间复杂度为O(n),展示了在编程约束条件下,通过深入理解语言特性和递归思想寻找解决方案的思维方式。这种方法不仅适用于求和问题,还可扩展至阶乘、斐波那契数列等计算场景。

2025-01-06 21:27:44 816

原创 算法的学习笔记—股票的最大利润

该解法基于财富主义,通过一次迭代,在保持优化的情况下获取最大收益。这种思路构造简单,有效,是解决类似问题时非常有用的一种思想。😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集手写机制微服务组件spring_尘觉springMVCmybits🤔欢迎大家加入我的社区尘觉社区文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞。

2025-01-05 15:43:24 803

原创 算法的学习笔记— 圆圈中最后剩下的数(牛客JZ62)

NowCoder该问题提供了一种关于约瑟夫问题的优雅解法,通过返正方式,在数量不无限加长的情况下,仍能最终解出最后剩下的小朋友编号,并且突显了数学法则和循环计算的精妙。😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集手写机制微服务组件spring_尘觉springMVCmybits🤔欢迎大家加入我的社区尘觉社区文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁。

2024-12-25 15:26:44 1244

原创 算法的学习笔记—扑克牌顺子(牛客JZ61)

通过本题,我们学习了如何结合排序和计数来解决扑克牌顺子问题。利用癞子的特殊性质,有效地填补间隙,最终判断是否满足顺子的条件。这一思路可以扩展到其他类似问题,如跳跃游戏或间隙填补问题。😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集手写机制微服务组件spring_尘觉springMVCmybits🤔欢迎大家加入我的社区尘觉社区文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁。

2024-12-22 23:34:37 968

原创 剑指 Offer 60. n个骰子的点数

标准动态规划方法适合理解和调试,但占用空间较大。使用旋转数组优化空间后,代码稍显复杂,但更加高效。😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集手写机制微服务组件spring_尘觉springMVCmybits🤔欢迎大家加入我的社区尘觉社区文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞。

2024-12-21 18:53:50 1052

原创 算法的学习笔记—滑动窗口的最大值(牛客JZ59)

滑动窗口最大值问题在算法题中具有较高的实用性和典型性。掌握使用大顶堆解决该问题的方法,对于理解和应用优先队列以及堆数据结构有很大帮助。希望本文的分析和代码示例可以帮助大家更好地理解该问题,并在未来的算法学习中加以应用。😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集手写机制微服务组件spring_尘觉springMVCmybits🤔欢迎大家加入我的社区尘觉社区文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁。

2024-10-28 23:24:08 1538

原创 算法的学习笔记—左旋转字符串(牛客JZ58)

在这道题目中,使用三步翻转法避免了直接拼接带来的额外开销,使得操作更加高效简洁。无论是面试还是实际开发中,这种方法都非常实用。这个题目很好地锻炼了对字符串操作和数组翻转的理解,三步翻转法的思路在其他字符串旋转、数组循环移位等问题中也能得到广泛应用。希望这篇文章能帮助大家掌握并熟练应用这种方法。😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集手写机制微服务组件spring_尘觉springMVCmybits🤔欢迎大家加入我的社区尘觉社区。

2024-10-27 16:50:16 970

原创 算法的学习笔记—翻转单词顺序列(牛客JZ73)

本题使用了双重翻转的方法,巧妙地实现了翻转单词顺序的效果。通过这个思路,可以在不使用额外空间的情况下,完成对字符串的高效处理。在面试中,掌握该解法对于处理其他字符串类问题也有很大帮助。😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集手写机制微服务组件spring_尘觉springMVCmybits🤔欢迎大家加入我的社区尘觉社区文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁。

2024-10-27 12:12:03 1077

原创 算法的学习笔记—和为 S 的连续正数序列(牛客JZ74)

此题使用滑动窗口(双指针)解法,实现简洁高效。掌握这种思路对解决类似连续数列求和问题非常有帮助。😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集手写机制微服务组件spring_尘觉springMVCmybits🤔欢迎大家加入我的社区尘觉社区文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞。

2024-10-26 18:58:40 1165

原创 算法的学习笔记—和为 S 的两个数字(牛客JZ57)

使用双指针解题法有效地解决了有序数组中寻找和为给定值的问题。该方法不仅提高了算法的效率,还降低了时间复杂度,是面试中的常考题型。通过该题,我们学到了如何在有序数组中使用双指针高效查找满足特定条件的数对,提升了问题解决的能力。😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集手写机制微服务组件spring_尘觉springMVCmybits🤔欢迎大家加入我的社区尘觉社区文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁。

2024-10-26 13:47:05 948

原创 算法的学习笔记—数组中只出现一次的数字(面向新手的详解)(牛客JZ56)

通过以上的步骤,我们可以高效地找出数组中只出现一次的两个数字。利用异或运算的特性,我们能够将问题转化为位运算,简化了复杂度。这种思路不仅适用于本题,也为解决类似的问题提供了重要的思路。😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集手写机制微服务组件spring_尘觉springMVCmybits🤔欢迎大家加入我的社区尘觉社区文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁。

2024-10-25 23:03:18 1353

原创 算法的学习笔记—平衡二叉树(牛客JZ79)

通过递归方法,我们可以高效地判断一棵二叉树是否为平衡二叉树。这种方法不仅直观,而且在时间和空间复杂度上都表现良好。通过以上示例代码,开发者可以轻松实现并验证二叉树的平衡性😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集手写机制微服务组件spring_尘觉springMVCmybits🤔欢迎大家加入我的社区尘觉社区文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁。

2024-10-25 22:59:08 765

原创 算法的学习笔记—二叉树的深度(牛客JZ55)

通过递归求解二叉树的深度是一种非常直观且高效的方式。该方法充分利用了二叉树的结构特点,逐层递归计算子树的深度,并最终得到整棵树的最大深度。递归的实现简洁明了,适用于各种不同的二叉树结构。掌握这种递归思路,不仅可以轻松解决类似的树深度问题,还能够应用于其他树相关的操作,如判断树的平衡性、计算树的最大路径等。😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集手写机制微服务组件spring_尘觉springMVCmybits🤔欢迎大家加入我的社区。

2024-10-24 21:09:59 1025

原创 算法的学习笔记—二叉查找树的第 K 个结点(牛客JZ54)

这道题目利用了二叉查找树的中序遍历有序的特点,通过中序遍历并在遍历过程中计数,能够高效地找到第 K 个结点。实现过程中要注意利用递归的特性,并在找到目标结点后及时终止递归以优化性能。这种方法适用于二叉查找树的各种查询操作,是一个非常重要的技巧。在实际应用中,类似的遍历和计数方法也可以用于其他有序结构的查询问题。😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集手写机制微服务组件spring_尘觉springMVCmybits🤔

2024-10-24 20:56:10 952

原创 算法的学习笔记—数字在排序数组中出现的次数(牛客JZ53)

类似地,我们可以寻找K最后一次出现的位置。或者,我们可以通过查找K + 1第一次出现的位置,再向前移动一位得到K最后一次出现的位置。通过查找K的第一个和K + 1的第一个位置,两个索引的差就是K在数组中的出现次数。通过二分查找的方式,可以在 O(log n) 的时间复杂度下高效地计算有序数组中某个数字的出现次数。这种方法不仅适用于该特定问题,还可以应用于其他类似的查找问题,如查找有序数组中的区间或范围。掌握二分查找的变形技巧,对于解决数组相关问题非常有帮助。😁热门专栏推荐想学习vue的可以看看这个。

2024-10-23 23:07:46 1123

原创 算法的学习笔记—两个链表的第一个公共结点(牛客JZ52)

通过同步两个指针的遍历方式,能够有效地解决两个链表寻找第一个公共节点的问题。该方法的时间复杂度为 O(m + n),空间复杂度为 O(1),在链表问题中是非常高效的一种解法。这种技巧值得学习,因为它不仅解决了本题,还可以运用于其他链表相关的题目中,比如寻找链表的环起点等。😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集手写机制微服务组件spring_尘觉springMVCmybits🤔欢迎大家加入我的社区尘觉社区。

2024-10-23 22:52:14 1824

原创 算法的学习笔记—数组中的逆序对(牛客JZ51)

逆序对问题是一个经典的算法问题,借助归并排序可以将其优化至Onlog⁡nOnlogn的时间复杂度。通过在归并排序的过程中适时地统计逆序对,我们可以有效地解决这个问题。😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集手写机制微服务组件spring_尘觉springMVCmybits🤔欢迎大家加入我的社区尘觉社区文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁。

2024-10-22 22:20:22 1718

原创 算法的学习笔记—第一个只出现一次的字符位置(牛客JZ50)

本文探讨了寻找字符串中第一个只出现一次字符的三种解法:1)使用HashMap统计字符频次,适用于通用场景但空间开销较大;2)整型数组法(推荐),针对ASCII字符集实现高效,时间空间复杂度最优;3)BitSet位运算方案,空间极致优化但实现复杂。通过对比表格分析各自优缺点,建议根据实际场景选择,其中整型数组法在限定字符集时表现最佳。该算法思想可扩展至数据清洗、输入校验等实际应用场景。

2024-10-22 22:15:00 1014 1

原创 算法的学习笔记—丑数(牛客JZ49)

丑数问题通过动态规划的方式,巧妙地利用三个指针生成新的丑数,并且保证了每个丑数都是按顺序生成的。通过这种方式,我们可以在 O(N) 的时间内得到第 N 个丑数,是一种高效的解决方案。😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集手写机制微服务组件spring_尘觉springMVCmybits🤔欢迎大家加入我的社区尘觉社区文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁。

2024-10-21 21:07:48 1076

原创 算法的学习笔记之—最长不含重复字符的子字符串(牛客JZ48)

这个算法的核心思想是用滑动窗口的方法动态维护一个不含重复字符的子字符串,并通过记录每个字符的上一次出现位置,避免了重复字符的出现。这样我们就能在一次遍历中找到最长的不含重复字符的子字符串,时间复杂度为 O(n),空间复杂度为 O(1)。求解最长不含重复字符的子字符串的问题,关键在于使用滑动窗口技术和哈希表来跟踪字符的最近出现位置,避免重复字符的出现,从而实现高效的解决方案。通过一次遍历,我们能够找到字符串中最长的不含重复字符的子字符串,并返回其长度。

2024-10-21 20:01:11 1432

原创 算法的学习笔记—礼物的最大价值

通过动态规划,我们成功地解决了在棋盘中获取最大礼物价值的问题。动态规划的核心在于将问题拆解成一系列可以递推的小问题,从而避免了重复计算,极大地提高了计算效率。在这个问题中,动态规划帮助我们在短时间内找到了最优路径,从而获取了最大的礼物价值。希望通过这个例子的讲解,能让你对动态规划有更深的理解,并能将其应用到更多类似的问题中。😁热门专栏推荐想学习vue的可以看看这个java基础合集数据库合集redis合集nginx合集linux合集手写机制微服务组件spring_尘觉springMVCmybits。

2024-08-31 17:46:01 1225

Linux 实操篇- Vi 和Vim 编辑器-开机、重启和用户登录注销-用户管理

Linux 实操篇- Vi 和Vim 编辑器-开机、重启和用户登录注销-用户管理

2023-07-24

Linux 高级篇-定制自己的Linux 系统.md

制作自己的min linux(基于CentOS7.6)Linux 高级篇-定制自己的Linux 系统.md制作Linux 小系统之前,再了解一下Linux 的启动流程: 1、首先Linux 要通过自检,检查硬件设备有没有故障 2、如果有多块启动盘的话,需要在BIOS 中选择启动磁盘3、启动MBR 中的bootloader 引导程序 4、加载内核文件5、执行所有进程的父进程、老祖宗systemd6、欢迎界面

2023-07-24

Linux 高级篇-日志管理

Linux 高级篇-日志管理.md1. 日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等。2. 日志对于安全来说也很重要,它记录了系统每天发生的各种事情,通过日志来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。

2023-07-24

数据库的锁.pdf

数据库的锁

2023-07-24

mysql日志管理、备份与恢复.md

mysql日志管理、备份与恢复 一、mysql常用日志 >1、概述 数据库中查询日志状态 二、备份 1、概述 2、备份的重要性 >3、备份类型 >4、备份方法 >5、备份实验 >6、完全备份 >7、增量备份和恢复 总结:

2023-08-19

typoraz编程代码主题包括和idea的同款主题

typoraz编程代码主题包括和idea的同款主题

2023-09-21

Python 09之UnitTest【使用,生成HTML测试报告】 HTMLTestRunner是一个第三方的unittest

HTMLTestRunner是一个第三方的unittest HTML报告库

2023-09-17

bi站王卓老师数据结构和算法的全部笔记并且已经整理成为思维导图

bi站王卓老师数据结构和算法的全部笔记并且已经整理成为思维导图

2023-09-03

教会你怎么返回json来完成需求

配套的jar

2023-08-28

mysql常见错误汇总

mysql常见错误汇总 如列别名问题,使用 DATE 列的问题,空值问题, 使用 MySQL 程序时的常见错误 1 拒绝访问 2 无法连接到[本地] MySQL服务器3 与 MySQL 服务器的连接丢失 4 以交互方式输入密码失败 5 连接过多 6 MySQL 服务器已消失 细致分析错误 ERROR 1044 (42000):Access denied for user ERROR 1045 (28000): Access denied for user *** (using password: YES ERROR 1054 (42S22): Unknown column *** in 'where clause' ERROR 1064 (42000): You have an error in your SQL syntax; ERROR 1072 (42000): Key column '***' doesn't exist in table ERROR 1142 (42000): CREATE command denie

2023-08-19

数据库存储过程和函数.pdf

数据库存储过程和函数

2023-07-24

mysql日志管理、备份与恢复.pdf

mysql日志管理、备份与恢复

2023-07-24

触发器和事件自动化.pdf

触发器和事件自动化

2023-07-24

观看韩顺平Java的 所做的笔记 到互斥锁 其中里面有我很多心得 老手可以用来复习 新手可以用学习 也可以当做参考 来做笔记

包装类 String 类 字符串的特性 String 类的常见方法 StringBuffer 类 Math 类 Arrays 类 System 类 日期类包括1代2代3代 集合 集合的框架体系 Collection 接口和常用方法 Collection 接口实现类的特点 List 接口和常用方法 ArrayList 底层结构和源码分析 Vector 底层结构和源码剖析 LinkedList 底层结构 ArrayList 和 LinkedList 比较 Set 接口和常用方法 Map 接口和常用方法 总结-开发中如何选择集合实现类(记住) Collections工具类 泛型 JUnit 多线程基础 互斥锁

2023-03-31

观看韩顺平Java的 所做的笔记 到数据库中 其中里面有我很多心得 老手可以用来复习 新手可以用学习 也可以当做参考 来做笔记

观看韩顺平Java的 所做的笔记 到数据库中 其中里面有我很多心得 老手可以用来复习 新手可以用学习 也可以当做参考 来做笔记尤其是一起观看韩老师的视频的同学 对观看其他视频的同学可以作为参考来学习希望可以帮到大家 感谢大家的观看谢谢大家

2023-04-01

基于韩顺平老师数据库完结和jdbc完结

JDBC为访问不同的数据库提供了统一的接口,为使用者屏蔽了细节问题。Java程序员使用JDBC,可以连接任何提供了JDBC驱动程序的数据库系统,从而完成对数据库的各种操作。JDBC的基本原理图[重要!JDBC程序中当一个Connection对象创建时,默认情况下是自动提交事务:每次执行一个SQL语句时,如果执行成功,就会向数据库自动提交,而不能回滚。JDBC程序中为了让多个SQL语句作为一个整体执行,需要使用事务。

2023-04-01

观看韩顺平学习整理java的笔记到异常

帮助大家复习java基础知识其中有 hashCode 2 toString 2 finalize 2 用已学知识做出简单的房屋出租系统 3 类方法使用注意事项和细节讨论 4 main()方法 4 代码块 4 代码块使用注意事项和细节 5 单例模式 6 final关键字 6 抽象类 8 抽象类--模板设计模式 9 接口 9 内部类 11 匿名内部类的使用(重要!!!!!!!) 13 成员内部类的使用 13 静态内部类的使用 14 枚举的二种实现方式 14 自定义类实现枚举 14 使用 enum 关键字实现枚举注意事项 15 enum 用方法说明 15 enum 实现接口 15 注解的理解 16 基本的 Annotation 介绍 16 @Override 注解 16 @Override 使用说明 17 @Deprecated 注解 17 @SuppressWarnings 注解 17 元注解 19 @Retention 注解 19 @Target 注解 19 @Documented注解 20 @Inherited 注解 20 异常-Exception 21 编译异常 22 异常处理 2

2023-03-30

空空如也

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

TA关注的人

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