
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
背包问题作为动态规划的入门经典题型,万变不离其宗,核心都是在有限背包容量下,通过状态转移实现价值最大化。本文详解的01 背包、完全背包、多重背包,是最基础也最常用的三类模板,吃透三者的逻辑差异和代码写法,足以应对绝大多数背包类题目。01 背包是根基,每件物品仅可选一次,必须逆序遍历背包容量,避免重复选取;完全背包是延伸,物品可无限选取,只需将遍历顺序改为正序,其余逻辑与 01 背包完全一致;多重背
刷题的时候,我们经常遇到一类问题:找右边第一个比它大的数、求柱状图最大面积、接雨水。如果用双重循环暴力做,时间复杂度是 O (n²),数据一大就会超时。而 单调栈,就是专门解决这类问题的常用算法,代码不长、思路清晰,能把时间复杂度降到 O (n),在蓝桥杯、算法笔试里出现频率很高。这篇文章结合 C 语言代码,从原理、实现、例题、做题技巧四个方面,带你学好单调栈。简单说:栈里的元素,始终保持单调递增
定长 vs 不定长窗口对比特性定长滑动窗口不定长滑动窗口窗口大小固定(k)动态调整(扩张 / 收缩)指针移动left 与 right 同步移动right 扩张,left 按需收缩适用场景固定长度的子串 / 子数组问题满足条件的最长 / 最短子串问题核心操作加入右元素 → 移除左元素扩张 → 校验 → 收缩核心优化点复用窗口状态:避免每次重新计算子区间的总和 / 字符状态,降低时间复杂度。边界处理:
栈辅助法就是利用了**“先进后出”**的特性,用空间换时间,先 push 整个链表,再 pop 整个链表,将链表反转。递归反转链表简单来说:从链表末尾开始,先搞定最后两个的反转,再一步步往前反转每个节点与它后面已反转链表的关系。链表的反转是链表使用的一个重要操作,接下来本文将介绍 5 种反转方法。遍历原链表时,先抓牢原链表的“下一个节点”(避免断链);新头前移到当前节点(新链表变长),原头后移继续
在图论算法中,拓扑排序是专门针对有向无环图(DAG) 的经典算法,也是笔试、蓝桥杯、面试高频考点。大学选课:必须先修高数,才能修概率论;工程打包:Maven/Gradle 依赖加载顺序;任务调度:流水线任务先后执行顺序;编译原理:代码文件依赖编译顺序。给定一张有向图,若存在一个顶点序列,使得图中任意一条有向边u→v都满足:u 在序列中一定出现在 v 前面,该序列即为拓扑序,生成该序列的过程就是拓扑
在Java开发日常工作中,集合遍历、数据筛选、字段转换、排序去重、统计分组是高频常见操作。在Java8之前,处理这类业务只能通过for循环搭配if判断完成,不仅代码冗余量大,嵌套层级多,后期维护和阅读都很不方便。Java8推出的Stream流式编程,结合Lambda表达式,以声明式编程模式处理集合数据。开发者只需定义数据处理规则,无需手动编写循环迭代逻辑,代码简洁紧凑,业务逻辑清晰直观。本文主要讲
资源隔离:进程资源相互独立隔离;线程共享所属进程的全部资源,资源互通。开销成本:进程创建、切换、销毁成本极高;线程是轻量化单元,开销小、效率高。从属关系:一个进程至少自带一个主线程,线程无法脱离进程独立运行。通信方式:进程间通信复杂繁琐;线程可直接共享变量实现通信,简单高效。多线程并发是Java进阶的核心难点,吃透基础之后,大家可以继续深入学习JMM内存模型、AQS原理、锁优化、并发容器等高阶知识
异常是程序在编译阶段或运行阶段出现的非正常、不符合预期的情况。Java将所有程序错误、异常情况封装成异常对象,统一管理和处理。Throwable:所有错误、异常的顶层父类;Error:系统致命错误,不可处理;RuntimeException:代码逻辑问题,编译不校验,可选处理;受检查异常:外部资源问题,编译强制校验,必须处理。JDK 自带异常(如)无法覆盖所有业务场景(如余额不足、用户不存在),因
在日常Java开发中,绝大多数代码都属于静态编码。程序在编译阶段就确定好需要使用的类、成员方法与成员变量,通过new关键字直接创建对象并完成业务调用,整个流程固定且可控。// 编译阶段确定调用类与方法user.setName("张三");反射的核心原理:依托Class对象,在程序运行时动态解析并操作类的全部资源;Class对象包含三种获取方式,静态开发优先使用类名.class方式,性能更优;反射常
IO是Input(输入)和Output(输出)的缩写,Java IO流是一套用于实现程序与外部设备之间数据传输的API体系。外部设备主要包含本地硬盘文件、内存、网络端口、控制台等,IO流的核心作用,就是搭建程序与这些外部设备之间的数据传输通道,完成数据的读取和写入操作。掌握Java IO流,核心只需把握三个核心要点:根据文件类型选择字节流或字符流,追求读写性能优先使用缓冲流,编码不一致出现乱码使用







