xqxls
xqxls
全部文章
分类
二叉树技巧总结(2)
未归档(3)
题解(292)
归档
标签
去牛客网
登录
/
注册
xqxls的博客
TA的专栏
297篇文章
4人订阅
xqxls的题解
297篇文章
4409人学习
全部文章
(共248篇)
题解 | #序列化二叉树#
来自专栏
题意整理 序列化:给定一颗二叉树,将二叉树的节点信息转化为字符串存储起来。 反序列化:给定一个序列化后的字符串,根据字符串还原出二叉树。 方法一(DFS) 1.解题思路 序列化:将大问题拆分为小问题,每次如果还可以递归,就将当前层拆分为当前层的左孩子,加上当前层的右孩子,加上当前层节点值。递归...
java
递归
队列
DFS
BFS
树
2021-07-22
0
633
题解 | #正则表达式匹配#
来自专栏
题意整理 用模式串来检验整个匹配串。 模式串中的'.'匹配任何字符,'*'表示它前面的字符可以出现任意次(即0到无穷次)。 方法一(记忆化递归) 1.解题思路 递归终止条件:当模式串走完的时候,递归终止,如果此时,原串也走完了,则匹配成功;如果没走完,则匹配失败。 每一层递归从上一层获取什么:...
java
递归
动态规划
2021-07-21
6
973
题解 | #字符串的排列#
来自专栏
题意整理 返回输入字符串的所有排列。 将所有排列按字典序排好。 方法一(回溯+set去重) 1.解题思路 基本思路:将字符串转化为字符数组,然后进行递归。递归的过程中,首先固定某一个下标对应元素,然后将其他元素进行交换,并且每次交换后都进行回溯。当游标走到末尾的时候,将对应的数组转化为字符串,...
java
回溯
排列
2021-07-21
0
763
题解 | #股票交易的最大收益(二)#
来自专栏
题意整理 已知股票每一天的价格波动 最多持有一只股,也就是买入时,必须卖出之前持有的股 最多交易两次,求最大收益 方法一(动态规划) 1.解题思路 本题的难点在于交易次数进行了限定,可以多开一维空间来存储交易次数。所以可以用三维dp来求解。 状态定义:第一维表示交易天数,第二维表示交易次数,第...
java
动态规划
状态压缩
2021-07-18
6
1132
题解 | #股票(无限次交易)#
来自专栏
题意整理 已知股票每一天的价格波动。 最多持有一只股,也就是买入时必须卖出之前持有的股。 可以无限次买入和卖出股票,求最大收益。 方法一(贪心) 1.解题思路 为了在股票交易中获得最大收益,我们肯定希望在极小值点买入,在邻近的极大值点卖出,由于是邻近的极大值点,所以在买入点和卖出点之间股票肯定是...
java
动态规划
贪心
2021-07-18
0
683
题解 | #链表的奇偶重排#
来自专栏
题意整理 给定一个链表。 链表的奇数位、偶数位索引节点分别连在一起,重排成一个新的链表。 方法一(转化为数组) 1.解题思路 比较容易实现的方法是先将链表转化为数组,然后分别将奇数、偶数索引对应的值构造成对应的奇偶链表。最后再将奇链表和偶链表拼接起来。 2.代码实现 import java.ut...
java
链表
双指针
2021-07-18
0
650
题解 | #环形链表的约瑟夫问题#
来自专栏
题意整理 有n个人围成一圈,编号分别是1到n。 每次报道第m个人,则第m个人出圈,求最后剩下的那个人的编号。 方法一(链表模拟) 1.解题思路 一种最容易想到的方法是用链表模拟这个过程。首先将0到n-1这n个数依次加入到list链表,每次模拟题目要求,删除指定位置的元素,剩下的那一个即是最后的数...
java
迭代
递归
模拟
约瑟夫环
2021-07-18
0
687
题解 | #随时找到数据流的中位数#
来自专栏
题意整理 需要一个数据结构来存储从数据流吐出的整数。 每收到一个整数,都可以得到当前数据结构中所有整数的中位数。 方法一(大顶堆与小顶堆) 1.解题思路 初始化一个大顶堆和一个小顶堆。 当两个堆大小相等时,将当前元素先入大顶堆,再弹出大顶堆的堆顶元素,将弹出的堆顶元素入小顶堆;如果两个堆大小...
java
堆
2021-07-17
0
1001
首页
上一页
16
17
18
19
20
21
22
23
24
25
下一页
末页