maomao666
maomao666
全部文章
分类
题解(21)
归档
标签
去牛客网
登录
/
注册
maomao666的博客
全部文章
(共20篇)
题解 | #数组中只出现一次的两个数字#
O(N), O(N) 借助哈希表完成,易操作完成 O(N), O(1) 先将原问题稍稍改动,出现一次的数字只有一个。此时只需要将所有数进行异或操作,得到的即是出现一次的数字,因为,a ^ a = 0, a ^ 0 = a, 且 异或操作有交换律,即 a ^ b ^ a = a ^ a ^ b = b...
Java
2022-05-21
1
222
题解 | #调整数组顺序使奇数位于偶数前面(一)#
O(N), O(N) 只需要借助新数组,遍历两次,分别将奇数和偶数,添加即可 public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param array int整型一维数组 * @retur...
Java
数学
双指针
2022-05-14
1
224
题解 | #调整数组顺序使奇数位于偶数前面(二)#
双指针,O(N),O(1) i即right指向奇数,left有两种可能,可能left == right, 或者left指向偶数,此时swap(left, right)即可 public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的...
Java
双指针
2022-05-14
1
273
题解 | #二叉树的下一个结点#
O(N), O(1) 分类讨论,切记中序遍历,为左根右,因为需求给定结点的下一个结点,所以我们只需要讨论给定结点的右子树部分。同样扩展来说,要求给定的结点的上一个结点,只需要讨论给定结点的左子树部分 分析基于题中此图 (1), pNode.right == null, 例如g结点,我们应该是沿...
Java
二叉树
设计
数学
贪心
双指针
2022-04-26
1
189
题解 | #和为S的连续正数序列#
O(N) 双指针操作,因为是连续正数序列,所以可以有一个循环变量curSum来计算左右指针所夹的和(左闭右闭),并且一直迭代变化。 举例,1,2,3,4,5,6 sum = 9,left = 1, rigth = 3时 curSum = 6 < sum, 所以 right++, 更新之后,le...
Java
数学
双指针
设计
2022-04-26
1
203
题解 | #在二叉树中找到两个节点的最近公共祖先#
O(N), O(N) 不用库函数,分别使用双指针和快慢指针操作 新建一新方法,双指针实现字符数组翻转,然后利用快慢指针,对每一个单词进行翻转,最后进行整体的翻转 时间复杂度,(双指针操作)整体翻转 n / 2, 所有单词的翻转也近似于 n / 2 ,故时间复杂度 O(N) public class ...
Java
双指针
数学
字符串
数组
2022-04-22
1
180
题解 | #重建二叉树#
中序和前序或后序,唯一确定一个二叉树 以中序和前序举例,前序[1,2,4,7,3,5,6,8],中序[4,7,2,1,5,3,8,6] 前序遍历规律-根左右可知,第一个数一定是此树的根节点即“1”,又中序遍历规律-左根右,所以找到“1”在中序中的索引,就可以一分为二,左子树中序和右子树中序,基于中序...
Java
二叉树
设计
递归
2022-04-22
1
193
题解 | #二叉树中和为某一值的路径(二)#
O(N),穷举 在递归过程中,递归终止条件很重要,因为只有叶子节点的时候,才可以返回 return; 此代码中,每次减去遍历过的数值expectNumber - root.val,但是切记要回溯 import java.util.*; public class Solution { ArrayLis...
Java
二叉树
数学
2022-04-21
1
200
题解 | #滑动窗口的最大值#
此问题的暴力解法,O(N*M),不能通过 O(N), O(N) 需要借助于双端队列进行操作,维护队列中元素为不严格单调递降,即单调队列 思路分析:打个比方,给定num = [1,3,3,2,1 ],size = 3,第一个窗口中,1,3,3 中最大值为3,然后滑动到第二个窗口,3,3,2最大值为3,...
Java
队列
滑动窗口
设计
单调队列
2022-04-21
1
281
题解 | #删除链表中重复的结点#
暴力解法,可以用HashSet记录重复的元素,一个一个删除,但是要遍历链表两次,O(N),O(N) O(N), O(1) 链表题目,最好都加一虚拟头结点,有利用统一操作,不需要分开单独处理头结点 只需要一次遍历的时候,如果cur,cur.next指针的元素值相等,就一直向后移动cur指针,直到cur...
Java
链表
模拟
设计
2022-04-21
1
190
首页
上一页
1
2
下一页
末页