- 博客(152)
- 资源 (1)
- 收藏
- 关注
原创 Netty4.1源码分析——服务端发送数据过程
Netty在写数据时,将写入步骤分为两个步骤,write和flush,并且write和flush中间还有个发送缓冲区ChannelOutboundBuffer。write将数据组装在ChannelOutboundBuffer内,而flush则将ChannelOutboundBuffer的数据真正的发送出去。
2021-10-26 20:19:24 562
原创 Netty4.1源码分析—— 服务端构建连接和接收数据
客户端和服务端构建完连接后,下一步的目的是开始接收/发送数据了,所以服务端构建连接其实也是在为下一步做准备——为接收数据做准备,也就是创建SocketChannel并将其注册OP_READ事件,而接收数据则实质就是处理OP_READ事件了。
2021-10-06 22:18:52 475
原创 Netty4.1源码分析—— 服务端启动过程
Netty的Server启动过程简单来说是加载配置以及为即将到来的连接做接收的准备,也就是为客户端连接服务端这一步做好准备。因为Netty的架构是Reactor模式的实现,所以这一步其实是让ServerSockerChannel注册上OP_ACCEPT事件,即接受连接事件。
2021-09-01 23:58:40 338
原创 LeetCode题解——202. 快乐数
编写一个算法来判断一个数是不是“快乐数”。一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。
2019-10-05 16:15:09 183
原创 LeetCode题解——198. 打家劫舍
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。
2019-10-05 15:29:13 252
原创 LeetCode题解——191. 位1的个数
编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。
2019-10-04 18:05:25 244
原创 LeetCode题解——169. 求众数
给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。
2019-09-28 17:04:13 173 1
原创 LeetCode题解——155. 最小栈
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。
2019-09-26 22:45:27 128
原创 LeetCode题解——141. 环形链表
给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。
2019-09-26 21:46:09 105
原创 LeetCode题解——136. 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
2019-09-26 21:13:25 124
原创 LeetCode题解——122. 买卖股票的最佳时机 II
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
2019-09-23 20:50:46 148
原创 LeetCode题解——121. 买卖股票的最佳时机
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。
2019-09-23 17:08:03 186
原创 LeetCode题解——112. 路径总和
给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。
2019-09-20 17:57:21 112
原创 LeetCode题解——111. 二叉树的最小深度
给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。
2019-09-20 16:41:51 108
原创 LeetCode题解——110. 平衡二叉树
给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。
2019-09-20 15:33:14 139 1
原创 LeetCode题解——108. 将有序数组转换为二叉搜索树
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。
2019-09-20 15:02:46 92
原创 LeetCode题解——107. 二叉树的层次遍历 II
给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)
2019-09-19 17:05:28 88
原创 LeetCode题解——100. 相同的树
给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
2019-09-19 14:59:40 111
原创 LeetCode题解——88. 合并两个有序数组
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。
2019-09-18 17:21:12 126
原创 LeetCode题解——70. 爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。
2019-09-17 17:31:22 171
原创 LeetCode题解——69. x 的平方根
实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。
2019-09-17 17:20:04 137
原创 LeetCode题解——66. 加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。
2019-09-16 16:59:07 167
原创 LeetCode题解——58. 最后一个单词的长度
给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明:一个单词是指由字母组成,但不包含任何空格的字符串。
2019-09-16 16:47:10 93
原创 LeetCode题解——53. 最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
2019-09-16 15:59:28 134
原创 LeetCode题解——35. 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。
2019-09-15 17:15:48 87
原创 LeetCode题解——28.实现 strStr()
实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。
2019-09-15 15:39:43 113
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人