BillyHao
BillyHao
全部文章
题解
归档
标签
去牛客网
登录
/
注册
BillyHao的博客
全部文章
/ 题解
(共5篇)
用大顶堆实现滑动窗口最大值查询
import java.util.*; //思路:用一个大顶堆,保存当前滑动窗口中的数据。滑动窗口每次移动一格,就将前面一个数出堆,后面一个数入堆。 public class Solution { public PriorityQueue<Integer> maxQueue = ...
剑指offer
java
大顶堆
滑动窗口
优先队列
2020-02-10
39
5045
按之字形顺序打印二叉树
思路:其实就是树的广度遍历,不过每一层要进行一次反向即可。当然可以用queue来做,也可以通过计算树每个节点所在高度来选择是否反转此层。而我这里是通过两个栈来实现的,不需要计算高度,也不需要用标记来标记哪一层需要反转:这个办法我写起来其实蛮麻烦的,相信有更简单的代码能实现这个思路。 import j...
stack
java
非递归
二叉树
广度遍历
2020-01-30
1
740
二叉树的深度 - 非递归
给各位一个非递归的傻办法: /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }...
java
非递归
二叉树
广度遍历
queue
2020-01-20
1
868
二叉树的广度遍历
//思路:此题实际为二叉树的广度遍历,广度遍历必须借助其他的数据结构才能进行,比如最常见的Queue //(不能直接递归哦) import java.util.ArrayList; import java.util.Queue; import java.util.LinkedList; /** p...
java
非递归
二叉树
广度遍历
queue
2020-01-11
13
1322
用临时数组记录奇偶数
思路,把原数组分成一个奇数组一个偶数组,再按顺序复制回去,这样,只需要遍历两次原数组即可。(一次读出,一次写入)空间效率下降,因为额外有两个数组用于记录,但时间效率较好。 public void reOrderArray(int [] array) { //所以此时,这两个array长度都=...
2020-01-06
5
1243