首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
BillyHao
获赞
122
粉丝
1
关注
0
看过 TA
0
男
The Australian National University
2020
Java
IP属地:未知
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑BillyHao吗?
发布(5)
刷题
BillyHao
2020-02-10 12:54
Java
用大顶堆实现滑动窗口最大值查询
import java.util.*; //思路:用一个大顶堆,保存当前滑动窗口中的数据。滑动窗口每次移动一格,就将前面一个数出堆,后面一个数入堆。 public class Solution { public PriorityQueue<Integer> maxQueue = new PriorityQueue<Integer>((o1,o2)->o2-o1);//大顶堆 public ArrayList<Integer> result = new ArrayList<Integer>();//保存结果 publi...
0
点赞
评论
收藏
转发
BillyHao
2020-01-30 19:14
Java
按之字形顺序打印二叉树
思路:其实就是树的广度遍历,不过每一层要进行一次反向即可。当然可以用queue来做,也可以通过计算树每个节点所在高度来选择是否反转此层。而我这里是通过两个栈来实现的,不需要计算高度,也不需要用标记来标记哪一层需要反转:这个办法我写起来其实蛮麻烦的,相信有更简单的代码能实现这个思路。 import java.util.*; /* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { t...
0
点赞
评论
收藏
转发
BillyHao
2020-01-20 16:19
Java
二叉树的深度 - 非递归
给各位一个非递归的傻办法: /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ import java.util.*; public class Solution { //思路:用一个全新的数据结构,其中包括原树的节点和其的深度值,用队列广度遍历,找到最大那个值即可 public class TreeNodeBfs{//新数据结构,新增了节点的深度 ...
0
点赞
评论
收藏
转发
BillyHao
2020-01-11 09:37
Java
二叉树的广度遍历
//思路:此题实际为二叉树的广度遍历,广度遍历必须借助其他的数据结构才能进行,比如最常见的Queue //(不能直接递归哦) import java.util.ArrayList; import java.util.Queue; import java.util.LinkedList; /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; ...
0
点赞
评论
收藏
转发
BillyHao
2020-01-06 09:36
Java
用临时数组记录奇偶数
思路,把原数组分成一个奇数组一个偶数组,再按顺序复制回去,这样,只需要遍历两次原数组即可。(一次读出,一次写入)空间效率下降,因为额外有两个数组用于记录,但时间效率较好。 public void reOrderArray(int [] array) { //所以此时,这两个array长度都==原array长度,所以需要oddLength,evenLength记录其有意义值的真实长度 //也可先遍历原数组,确定奇偶数的个数再建立奇偶数组,但要多遍历一次。 int[] arrayOdd = new int[array.length]; int[] arrayEven...
0
点赞
评论
收藏
转发
1
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务