- 博客(43)
- 收藏
- 关注
原创 【剑指Offer】54. 数据流中的中位数
如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。数据流中读入的数据总数 [1,1000]。如何得到一个数据流中的中位数?
2024-03-31 13:10:17
128
原创 【剑指Offer】 39.对称二叉树
请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。树中节点数量 [0,100]。
2024-03-31 12:22:50
147
原创 【剑指Offer】 79. 滑动窗口的最大值
例如,如果输入数组 [2,3,4,2,6,2,5,1] 及滑动窗口的大小 3,那么一共存在 6 个滑动窗口,它们的最大值分别为 [4,4,6,6,6,5]。给定一个数组和滑动窗口的大小,请找出所有滑动窗口里的最大值。数组长度 [1,1000]。
2024-03-31 11:41:04
152
原创 【剑指Offer】81. 扑克牌的顺子
2∼10为数字本身,A 为 1,J 为 11,Q 为 12,K 为 13,大小王可以看做任意数字。为了方便,大小王均以 0来表示,并且假设这副牌中大小王均有两张。从扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这 5张牌是不是连续的。注意,有可能手里没有拿任何牌。
2024-03-31 11:21:08
140
原创 【剑指Offer】65. 数组中的逆序对
在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。给定数组的长度 [0,100]。
2024-03-31 10:37:17
99
原创 【剑指Offer】23. 矩阵中的路径
请设计一个函数,用来判断在一个矩阵中是否存在一条路径包含的字符按访问顺序连在一起恰好为给定字符串。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。矩阵中元素的总个数 [0,900]。路径字符串的总长度 [1,900]。
2024-03-31 10:00:25
114
原创 【剑指Offer】86. 构建乘积数组
给定一个数组A[0, 1, …, n-1],请构建一个数组B[0, 1, …, n-1],其中B中的元素B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…输入数组长度 [0,20]。
2024-03-30 22:33:56
186
原创 【剑指Offer】76. 和为S的连续正数序列
例如输入 15,由于 1+2+3+4+5=4+5+6=7+8=15,所以结果打印出 3 个连续序列 1∼5、4∼6 和 7∼8。输入一个非负整数 S,打印出所有和为 S。的连续正数序列(至少含有两个数)。
2024-03-30 22:02:58
149
原创 【剑指Offer】 63. 字符串中第一个只出现一次的字符
如果字符串中不存在只出现一次的字符,返回 # 字符。如输入"abaccdeff",则输出b。在字符串中找出第一个只出现一次的字符。输入字符串长度 [0,1000]。
2024-03-29 11:06:50
127
原创 【leetcode】 105. 从前序与中序遍历序列构造二叉树 106. 从中序与后序遍历序列构造二叉树
【代码】【leetcode】 105. 从前序与中序遍历序列构造二叉树 106. 从中序与后序遍历序列构造二叉树。
2024-03-29 11:03:42
95
原创 【八股】计网八股速记版(二)
每次请求都要经历这样的过程: 建立TCP连接->请求资源->发送资源->释放连接,这就是HTTP短连接,但是这样每次建立连接都只能请求一次资源,所以HTTP的Keep-alive实现了使用同一个TCP连接来发送和接受多个HTTP请求/应答,避免了连接建立和释放的开销,这就是HTTP长连接。Cookie 和 Session 都⽤于管理⽤户的状态和身份, Cookie 通过在客户端记录信息确定⽤户身份, Session 通过在服务器端记录信息确定⽤户身份。DNS要解决的是域名和IP地址的映射问题。
2024-03-24 13:31:01
1117
1
原创 【剑指Offer】 55. 连续子数组的最大和
输入:[1, -2, 3, 10, -4, 7, 2, -5]输入一个 非空 整型数组,数组里的数可能为正,也可能为负。数组中一个或连续的多个整数组成一个子数组。数组内元素取值范围 [−200,200]。要求时间复杂度为 O(n)。数组长度 [1,1000]。求所有子数组的和的最大值。
2024-03-22 21:51:38
99
原创 【剑指Offer】46. 二叉搜索树的后序遍历序列
如果一个数是二叉搜索树的后序遍历的结果,那么最后一个元素一定是根节点, 根据二叉搜索树的性质,它的左子树上面的值一定比它小,右子树上的值一定都比它大,那么,一定可以使用这个根节点的值把它的后序遍历序列划分为两部分,其中前半部分比它小,作为左子树,右边部分比它大,作为右子树。同理,递归处理它的左右子树。输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。数组长度 [0,1000]。
2024-03-22 20:55:30
178
原创 【剑指Offer】42. 栈的压入、弹出序列
例如序列 1,2,3,4,5是某栈的压入顺序,序列 4,5,3,2,1 是该压栈序列对应的一个弹出序列,但 4,3,5,1,2就不可能是该压栈序列的弹出序列。**注意:**若两个序列长度不等则视为并不是一个栈的压入、弹出序列。若两个序列都为空,则视为是一个栈的压入、弹出序列。输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。序列长度 [0,1000]。
2024-03-22 20:37:39
109
原创 【剑指Offer】 37. 树的子结构
输入两棵二叉树 A,B,判断 B 是不是 A的子结构。每棵树的节点数量 [0,1000]。我们规定空树不是任何树的子结构。
2024-03-22 20:19:10
127
原创 【剑指Offer】14. 不修改数组找出重复的数字
然后我们采用分治的思想,将每个数的取值的区间[1, n]划分成[1, n/2]和[n/2+1, n]两个子区间,然后分别统计两个区间中数的个数。因此我们可以把问题划归到左右两个子区间中的一个,而且由于区间中数的个数大于区间长度,根据抽屉原理,在这个子区间中一定存在某个数出现了两次。这个可以用反证法来说明:如果两个区间中数的个数都小于等于区间长度,那么整个区间中数的个数就小于等于n,和有n+1个数矛盾。给定一个长度为 n+1 的数组nums,数组中所有的数均在 1∼n 的范围内,其中 n≥1。
2024-03-22 12:22:50
238
原创 【剑指Offer】 13. 找出数组中重复的数字
给定一个长度为 n 的整数数组 nums,数组中所有的数字都在 0∼n−1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。如果某些数字不在 0∼n−1的范围内,或数组中不包含重复数字,则返回 -1;请找出数组中任意一个重复的数字。
2024-03-22 11:42:23
128
原创 【剑指Offer】 44. 分行从上往下打印二叉树
从上到下按层打印二叉树,同一层的结点按从左到右的顺序打印,每一层打印到一行。树中节点的数量 [0,1000]。
2024-03-22 11:27:45
110
原创 【剑指Offer】 45. 之字形打印二叉树
即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。请实现一个函数按照之字形顺序从上向下打印二叉树。树中节点的数量 [0,1000]。
2024-03-22 11:19:26
113
1
原创 【剑指Offer】43. 不分行从上往下打印二叉树
从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。树中节点的数量 [0,1000]。
2024-03-22 10:58:13
140
1
原创 【剑指Offer】88. 树中两个结点的最低公共祖先
考虑在左子树和右子树中查找这两个节点,如果两个节点分别位于左子树和右子树,则最低公共祖先为root,若左子树中两个节点都找不到,说明最低公共祖先一定在右子树中,反之亦然。考虑到二叉树的递归特性,因此可以通过递归来求得。如果输入的树节点为2和12,则输出的最低公共祖先为树节点8。如果输入的树节点为2和6,则输出的最低公共祖先为树节点2。给出一个二叉树,输入两个树节点,求它们的最低公共祖先。时间复杂度分析:需要遍历树,复杂度为 O(n)一个树节点的祖先节点包括它本身。树中节点数量 [0,500]。
2024-03-22 10:47:55
252
2
原创 【剑指Offer】 73. 数组中只出现一次的两个数字
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。输入:[1,2,3,3,4,4]你可以假设这两个数字一定存在。数组长度 [1,1000]
2024-03-22 10:13:25
109
1
原创 【剑指Offer】40. 顺时针打印矩阵
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。矩阵中每个格子遍历一次,所以总时间复杂度是 O(n^2)。矩阵中元素数量 [0,400]。
2024-03-22 09:50:46
101
1
原创 【剑指Offer】 83. 股票的最大利润
假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖 一次 该股票可能获得的利润是多少?如果我们能在价格为 5的时候买入并在价格为 16 时卖出,则能收获最大的利润 11。例如一只股票在某些时间节点的价格为 [9,11,8,5,7,12,16,14]。输入:[9, 11, 8, 5, 7, 12, 16, 14]输入数组长度 [0,500]。
2024-03-21 22:15:40
132
1
原创 【剑指Offer】69. 数组中数值和下标相等的元素
例如,在数组 [−3,−1,1,3,5]中,数字 3和它的下标相等。请编程实现一个函数找出数组中任意一个数值等于其下标的元素。假设一个单调递增的数组里的每个元素都是整数并且是唯一的。输入:[-3, -1, 1, 3, 5]**注意:**如果不存在,则返回-1。数组长度 [1,100]。
2024-03-21 20:57:28
99
1
原创 【webserver】 webserver项目中,使用浏览器无法连接到服务器的问题
c++ webserver 项目中,浏览器无法显示内容的问题
2024-03-20 16:08:16
239
1
原创 【剑指Offer】24. 机器人的运动范围
解释:当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 =18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。的格子开始移动,每一次只能向左,右,上,下四个方向移动一格。但是不能进入行坐标和列坐标的数位之和大于。从 (0, 0) 点开始,每次朝上下左右四个方向扩展新的节点即可。每个节点最多只会入队一次,所以时间复杂度不会超过方格中的节点个数。最后答案就是所有遍历过的合法的节点个数。输入:k=18, m=40, n=40。输入:k=7, m=4, n=5。
2024-03-19 21:36:06
226
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人