摘要: A Simple Netty Based On JAVA NIO 基于Java NIO 写的一个简单版 Netty 服务端 前置知识 NIO NIO 一般指 同步非阻塞 IO,同样用于**描述程序访问数据方式 **的还有BIO(同步阻塞)、AIO(异步非阻塞) 同步异步指获取结果的方式,同步为主动去 阅读全文
posted @ 2024-04-02 18:20 gg12138 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 动态规划 动归五部曲 一、确定dp数组以及下标的含义 二、确定递推公式 三、dp数组进行初始化 四、确定遍历顺序 五、举例推导dp数组 746. 使用最小花费爬楼梯 解决思路 定义dp[i] 为爬到第i个台阶的最低花费 递推公式。因为每一次能爬一步或两步,dp[i] 为前面的两格走两步过来或走一步过 阅读全文
posted @ 2024-02-25 23:52 gg12138 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 堆 215. 数组中的第K个最大元素 解法一 思路 使用堆排序,可以使用O(nlogN)找到前k个元素 先建立大顶堆,堆顶元素即为最大值。循环将最大值移除数组,并调整剩下元素的堆。循环k-1次后,第0个元素即是第k大的值 建立大顶堆 性质:根节点大于左右子树 maxHeapify操作:自上向下,调整 阅读全文
posted @ 2024-02-06 23:44 gg12138 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 图 200. 岛屿数量 思路 遍历二维数组,遇到等于1的进行计算。同时修改同岛的位置为0,避免重复计算 遍历同岛的位置,可以采用dfs深度优先搜索 代码 char[][] g; public int numIslands(char[][] grid) { int sum = 0; g = grid; 阅读全文
posted @ 2024-02-05 23:41 gg12138 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 树 105. 从前序与中序遍历序列构造二叉树 思路 先序遍历中,树的根节点放在第一位,后面是左右子树。中序遍历中,树的根节点放在中间,两边分为左右子树 可基于以上规则区分出每棵树在数组中的区间 先从先序数组中拿到根节点的val 因为val不重复,定位到该树在中序数组的位置 中序数组根节点位置确定,可 阅读全文
posted @ 2024-01-28 23:28 gg12138 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 栈与队列 232. 用栈实现队列 思路 使用两个栈 一个栈负责队列的push存元素,将里面的元素pop后放在另外一个栈。此时,另外一个栈最上面的就是最先放入,可用来做队列的pop 代码 public MyQueue() { pushSt = new Stack<>(); popSt = new St 阅读全文
posted @ 2024-01-21 22:33 gg12138 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 链表 707. 设计链表 解题思路 参考官方的单向链表,设置一个成员变量作为虚拟头节点,一个成员变量size保存有效节点数 代码 public MyLinkedList() { size = 0; head = new ListNode(0); } public int get(int index) 阅读全文
posted @ 2024-01-14 23:45 gg12138 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 704. 二分查找 解决思路 基于数组有序的特性,取其中一个值进行比较,即可淘汰该值左边或右边的元素,缩小搜索的区间 使用两指针标记需要遍历的区间,取中间值进行比较,淘汰左边或右边元素,不断移动缩小遍历的区间,即可查到 代码 public int search(int[] nums, int tar 阅读全文
posted @ 2024-01-14 23:44 gg12138 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 146. LRU缓存机制 运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果关键字 (key) 存在于缓存中,则获取关键字的值(总是正数),否则返回 -1。 写入数据 pu 阅读全文
posted @ 2020-09-07 22:58 gg12138 阅读(152) 评论(0) 推荐(0) 编辑
摘要: Spring的两大特性就是IOC和AOP。 IOC Container,控制反转容器,通过读取配置文件或注解,将对象封装成Bean存入IOC容器待用,程序需要时再从容器中取,实现控制权由程序员向程序的转变。 一、代码结构 二、注解扫描 1、新建OrderService、UserService、Tes 阅读全文
posted @ 2020-09-04 22:58 gg12138 阅读(234) 评论(0) 推荐(0) 编辑