- 博客(181)
- 收藏
- 关注
原创 LeetCode热题100--79. 单词搜索
该题解使用深度优先搜索(DFS)在二维字符网格中查找给定单词。算法首先遍历网格每个位置,作为搜索起点。对于每个起点,通过DFS递归检查四个方向(上、下、左、右)是否能匹配单词后续字符。为避免重复使用同一单元格,搜索时临时将访问过的字符标记为空字符,搜索结束后恢复原值。若找到完整匹配路径则返回true,否则继续搜索其他起点。这种方法通过回溯遍历所有可能路径,确保正确判断单词是否存在网格中。
2025-11-24 22:38:59
194
原创 考研408--数据结构--day3--链表
单链表:定义、实现、插入、删除、查找、建立(头插法、尾插法);双链表、循环链表、静态链表、顺序表vs链表
2025-11-24 22:30:37
591
原创 LeetCode100--22. 括号生成
本文介绍了一种通过回溯算法生成所有有效括号组合的方法。给定n对括号,通过深度优先搜索(DFS)递归构建合法组合:维护当前左括号与右括号的平衡状态,确保任何前缀中左括号数量不少于右括号。算法使用一个路径数组记录左括号位置,当填满所有括号后将其转换为字符串存入结果列表。关键步骤包括枚举可能的右括号数量并递归处理后续选择,最后回溯移除当前选择。该方法高效地生成了所有可能的有效括号组合,时间复杂度为O(4^n/√n),空间复杂度为O(n)。
2025-11-16 23:28:57
182
原创 考研408--组成原理--day3--数字电路(补)&加减乘除
逻辑门电路:算术运算和逻辑运算、基础逻辑运算(与或非)、复合逻辑运算;多路选择器、三态门;加法器:基本功能、一位全加器、并行加法器、带标志位的加法器;算术逻辑单位ALU:功能、作用、实现原理、看懂图示;定点数的移位运算:逻辑移位、算数移位;定点数的加减运算:原码的、补码的、溢出判断;无符号数的加减运算:加、减、溢出判断;补码加减运算电路;
2025-11-16 23:20:58
1510
2
原创 考研408--数据结构--day2--顺序表及其增删改查
顺序表:定义、静态分配、动态分配、顺序表的实现;顺序表的插入和删除、以及对应的时间复杂度;顺序表的基本操作:按位查找及时间复杂度、按值查找及时间复杂度
2025-11-15 23:46:05
951
原创 LeetCode热题100--39. 组合总和
给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的。 对于给定的输入,保证和为 target 的不同组合数少于 150 个。
2025-11-15 21:41:39
424
原创 考研408--计算机网络--day4--组帧&差错控制&可靠传输
数据链路层;组帧:字符计数法、字节填充法、零比特填充法、违规编码法;差错控制:奇偶校验、循环冗余校验码(CRC码)、海明码;流量控制、可靠传输:滑动窗口机制、停止-等待协议、后退N帧协议、选择重传协议;信道利用率:S-W协议、GBN、SR协议;补充:滑动窗口协议、ARQ协议、连续ARQ协议;
2025-11-14 23:38:39
1155
原创 LeetCode热题100--17. 电话号码的字母组合
该题解使用回溯算法解决电话号码字母组合问题。通过建立数字到字母的映射关系,递归遍历每个数字对应的所有字母可能性,逐步构建字母组合。当组合长度等于输入数字串长度时,将结果加入最终列表。算法时间复杂度为O(3^N×4^M),其中N是3字母数字个数,M是4字母数字个数。空间复杂度为O(N),主要用于存储递归栈和结果列表。
2025-11-14 23:25:36
289
原创 考研408--操作系统--day4--进程同步&互斥&信息量机制
同步、互斥问题:进程同步、进程互斥;进程互斥的软件实现方法:单标志法、双标志(前/后)检查法、Peterson算法;进程互斥的硬件实现方法:中断屏蔽方法、TestAndSet指令、Swap指令;锁;信息量机制:整型信息量、记录型信息量、实现进程互斥、实现进程同步、实现进程的前驱关系;
2025-11-12 23:59:42
964
原创 LeetCode热题100--78. 子集
该问题要求返回给定整数数组的所有可能子集(幂集)。采用位掩码法解决:对于长度为n的数组,遍历0到2^n-1的所有掩码值,每个掩码对应一个子集。通过检查掩码的二进制位是否为1来决定是否包含对应元素。这种方法可以高效生成所有不重复的子集。例如,输入[1,2,3]时,会输出8个子集,包括空集和全集。算法时间复杂度为O(n*2^n),空间复杂度为O(n)。
2025-11-12 23:59:41
192
原创 LeetCode热题100--46. 全排列--中等
本文介绍了使用回溯算法生成数组所有排列的Java实现。通过深度优先搜索(DFS)递归遍历,维护当前路径(path)和已使用数字标记(used)。每次递归处理未使用的数字,创建新路径和标记数组以避免引用问题。当路径长度等于数组长度时,保存结果。算法时间复杂度为O(n*n!),空间复杂度为O(n)。该实现能正确处理所有输入情况,包括空数组和单元素数组。
2025-11-06 23:30:11
178
原创 考研408--计算机网络--day3--通信基础&信道&编码与调制
通信基础:信源、信宿、信号、信道,数字信号、模拟信号,码元,速率;信道的极限容量:带宽,噪声、奈奎斯特定理、香农定理;编码与调制:编码方式(NRZ、RZ、NRZI)、调制方式(AM、FM、PM);传输介质:有线(双绞线、同轴电缆、光纤),无线、命名规则、特性;物理层设备:中继器,集线器;
2025-11-06 22:57:34
1367
原创 Leet热题100--208. 实现 Trie (前缀树)--中等
摘要: Trie(前缀树)是一种高效存储和检索字符串的数据结构,支持自动补全和拼写检查功能。本文实现了一个Trie类,包含插入(insert)、查找(search)和前缀匹配(startsWith)三个核心方法。通过节点数组存储子节点和结束标记来构建树形结构,其中insert方法构建路径,search检查完整单词,startsWith验证前缀存在性。算法采用二十六叉树结构,每个节点对应一个字母,时间复杂度为O(L)(L为单词长度),空间复杂度O(N*26)(N为节点数)。示例演示了插入"apple
2025-11-05 23:39:17
894
原创 考研408--操作系统--day3--调度&调度算法
处理及调度:基础概念、三个层次(作业、进程、内存)的联系及对比;进程调度的:时机、方式、切换与过程;补充:调度器/调度程序、闲逛进程;调度算法的评价指标:CPU利用率、系统吞吐量、周转时间、等待时间、响应时间;调度算法:先来先服务(FCFS)、短作业优先(SJF)、高响应比优先(HRRN)、时间片轮转调度算法(RR)、优先级调度算法、多级反馈队列调度算法;多级队列调度算法;多处理机调度:负载均衡、处理机亲和、公共就绪队列、私有就绪队列;
2025-11-05 23:25:28
1155
原创 re一下--day8--字符串(一)
本文介绍了Java字符串相关的基础知识。主要内容包括:推荐使用Java API文档作为工具书查阅字符串方法;指出字符串在开发中直接使用字面量的常见场景;说明字符串数组主要应用于特定算法题;建议初步了解字符串内存分析为数据结构学习做铺垫;强调不同项目组件中equals方法的差异,推荐实际使用时具体了解。文章提供了实用的学习建议和API参考资源。
2025-11-04 23:47:34
292
原创 考研408--组成原理--day2--进制&定点数&符号拓展
进位计数制:十进制、进制转换、真值&机器数;定点数:无符号数、有符号数:原码、反码、补码、移码;补码的作用、零拓展&符号拓展、强制类型转换
2025-11-04 23:25:36
964
原创 re一下--day7--面向对象--形象化理解
本文介绍了Java面向对象编程的核心概念,包括类和对象的定义与使用、封装实现方式、构造方法以及标准JavaBean类。文章将编程概念比喻为手机设计,形象解释了对象创建(new Phone())和使用(.操作符)的原理,并强调封装对数据保护的重要性。同时说明了构造方法的实际应用场景和标准JavaBean类在项目中的规范作用,为Java后端开发提供了基础面向对象知识的实用指南。
2025-11-03 21:58:27
553
原创 考研408--数据结构--day1--基础概念&时间、空间复杂度
基础概念:数据、数据元素、数据项、数据结构、数据对象、数据类型、抽象数据类型;三要素:逻辑结构、物理结构(存储结构)、数据的运算;算法:概念、特性(有穷性、确定性、可行性、输入、输出)、好算法的特性(正确性、可读性、健壮性、高效率和低存储量需求);算法效率的度量:时间复杂度、空间复杂度
2025-11-03 20:52:02
639
原创 考研408--计算机网络--day2--性能指标&分层结构&OSI&TCP/IP
性能指标:速率、带宽、吞吐量、时延、时延带宽积、往返时延、信道利用率;分层结构:设计思想、分层结构、网络系统结构、数据的传输过程、PDU、SDU、PCI、协议的三要素;OSI参考模型:物理层、链路层、网络层、传输层...TCP/IP:应用层、网络接口层、网络层、传输层、对比
2025-11-01 23:31:18
1365
原创 考研408--操作系统--day2--进程&信号&线程
进程:概念、组成(PCB、程序段、数据段)、特征、状态及转换(创建态、就绪态、运行态、阻塞态、终止态);进程控制:基本概念、原语;进程通信:共享存储、消息传递(直接、间接)、管道通信;信号:作用、实现原理、疑难点;线程:概念、属性、实现模式(用户级、内核级)、状态与转换、组织与控制;多线程模型:一对一、多对一、多对多;
2025-10-31 00:29:45
931
原创 考研408--计算机网络--day1-概念&组成功能&三种交换技术&分类
概念:计算机网络、互连网、互联网的区别;组成:组成部分、工作方式、逻辑功能;功能:数据通信、资源共享、分布式处理、提高可靠性、负载均衡;三种交换技术:电话网络(电路交换)、电报网络(报文交换)、分组技术、性能分析;分类:分布范围、传输技术、拓扑结构、使用者、传输介质;
2025-10-19 17:31:05
1292
原创 考研408--操作系统--day1
操作系统的概念、功能;操作系统的特征:并发、共享、虚拟、异步;操作系统的发展与分类:手工操作阶段、批处理阶段、分时操作系统、实时操作系统;操作系统的运行机制:内核程序vs应用程序、特权指令vs非特权指令、内核态vs用户态中断和异常:中断的作用、中断的分类、中断机制的基本原理;系统调用:系统调用与库函数的区别、系统调用的过程操作系统体系结构:内核(大内核&微内核)、分层结构、模块化、外核;操作系统引导;虚拟机
2025-10-15 21:47:43
690
原创 考研408--组成原理--day1
计算机的发展;计算机硬件的基本组成:早期冯诺依曼机、现代计算机的结构;各个硬件的工作原理:主存储器的基本组成(取走&写入)、运算器的基本组成、控制器的基本组成、计算机的工作过程;计算机软件:系统软件和应用软件、三种级别的语言、软件和硬件的逻辑功能等价性;计算机系统的层次结构;计算机系统的工作原理:从C语言源程序到可执行文件、计算机系统的工作原理;计算机的性能指标:存储器、CPU、系统整体的性能指标
2025-10-14 22:03:56
1164
原创 re一下--day1--Java入门--易坑点&经验
Java入门的易坑点、CMD和powershell的区别,JDK和SDK的区别,自己的一点点感想
2025-10-13 22:30:03
665
原创 考研408--数据结构--day1
数据结构的研究内容;基本概念和术语:数据、数据元素、数据项、数据对象、数据结构:逻辑结构、存储结构(顺序、链式、索引、散列);数据类型;抽象数据类型:表示与实现;算法:定义、描述、程序、特性、算法设计的要求;算法分析:时间效率的度量、事前分析方法、时间复杂度:计算及例题
2025-10-13 21:16:24
1345
原创 SSM--day6--MyBatisPlus
MP:入门案例和简介、标准数据层开发(CRUD)、Lombok、DQL编程控制:条件查询、查询投影、查询条件;DML编程控制:id生成策略控制、多记录操作、逻辑删除、乐观锁
2025-10-08 00:15:34
1023
1
原创 SSM--day3--Spring(三)--AOP&事务(补漏)
AOP:AOP注解总结、AOP工作流程、AOP通知获取数据;事务:事务注解总结、Spring事务角色、Spring事务属性
2025-10-07 16:10:21
757
原创 SSM--day2--Spring(二)--核心容器&注解开发&Spring整合
IOC/DI配置管理第三方bean:Druid、C3P0、properties;核心容器:创建方式、获取Bean、层次结构、BeanFactory;IOC/DI注解开发:纯注解开发、依赖注入、各种注解介绍解释;Spring整合:MyBatis、Junit
2025-10-06 20:30:18
836
2
原创 SSM--day1--Spring(一)--IOC&Bean&DI
Spring:介绍及相关概念(系统架构及核心概念);入门案例:IOC、DI;IOC:bean基础配置、实例化、生命周期;DI:setter注入、构造器注入、自动配置、集合注入;
2025-10-06 16:49:01
715
原创 LeetCode热题--207. 课程表--中等
这道题目考察课程安排的可行性,本质上是检测有向图中是否存在环。我们可以使用拓扑排序来解决: 构建入度数组和邻接表,记录每门课程的先修关系 将所有入度为0的课程入队 通过BFS逐步处理课程,将处理完的课程从图中"移除" 检查最终处理的课程数是否等于总课程数 如果存在环,则某些课程的入度永远不会降为0,导致无法完成所有课程。时间复杂度为O(V+E),空间复杂度为O(V+E),其中V是课程数,E是先修关系数。
2025-09-29 20:51:17
965
原创 JavaWeb--day13--SpringBoot原理
Spring原理:配置优先级、Bean管理、原理(起步依赖、自动配置)Web后端开发大总结
2025-09-29 20:43:04
1200
原创 LeetCode热题100--994. 腐烂的橘子--中等
这是一道关于网格中橘子腐烂过程的广度优先搜索(BFS)问题。给定一个m×n网格,其中0表示空单元格,1表示新鲜橘子,2表示腐烂橘子。每分钟腐烂橘子会感染周围4个方向的新鲜橘子。算法使用队列来存储所有初始腐烂橘子位置,然后逐一处理它们对周围新鲜橘子的影响,每轮处理代表1分钟。如果最终仍有新鲜橘子剩余则返回-1,否则返回所需最小分钟数。关键点在于使用BFS模拟腐烂过程,并准确统计剩余新鲜橘子数量。
2025-09-27 23:54:31
832
原创 JavaWeb--day12--事务&AOP
事务:@Transactional、rollbackFor、propagation;AOP:通知类型、通知顺序、切入点表达式(execution、@annotation)、连接点
2025-09-27 23:49:10
1306
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅