首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
ZhangHao0810
获赞
54
粉丝
6
关注
5
看过 TA
15
男
北京信息科技大学
2022
Java
IP属地:山东
如人饮水,冷暖自知。
私信
关注
拉黑
举报
举报
确定要拉黑ZhangHao0810吗?
发布(51)
刷题
ZhangHao0810
2021-10-02 22:47
Java
2021-10-02
在牛客打卡20天,今天也很努力鸭!
每日监督打卡
0
点赞
评论
收藏
转发
ZhangHao0810
2021-08-07 11:13
Java
2021-08-07
在牛客打卡19天,今天学习:刷题 30 道
每日监督打卡
0
点赞
评论
收藏
转发
ZhangHao0810
2021-07-23 18:30
Java
#给牛客的问题反馈和建议# 视频下载希望可以保存在其他盘,内存不够用了。
0
点赞
评论
收藏
转发
ZhangHao0810
2021-07-22 17:53
Java
题解 | #JZ 28数组中出现次数超过一半的数字# 同归于尽法
同归于尽法 我们做这样的想象,现在有来自不同阵营的多支部队,他们互为敌人。每个士兵都容不得敌人,宁愿与敌人同归于尽。可以想象,如果某个阵营的士兵数量超过所有阵营士兵总数的一半,该阵营士兵一换一带走一个其他阵营的,最终剩下的就是该阵营的士兵了,该阵营就获胜了。 这和本题有什么关系呢?且看下面的故事: 现在要打仗了,所有士兵依次进入战场,如果战场上有其他阵营的士兵,他就与其中一个同归于尽。否则,他就留在战场上。容易想象,战场上要么没有人,要么是同一阵营的。所有士兵都进入战场后,最终战场上剩下的只会是同一阵营的,而该阵营就是人数过半的那个。 我们要模拟这个过程,找到那个获胜的阵营。数组中每个元素就是...
0
点赞
评论
收藏
转发
ZhangHao0810
2021-07-21 20:31
Java
题解 | #JZ 27字符串的排列#
/** * 1、递归算法 * * 解析:http://www.cnblogs.com/cxjchen/p/3932949.html (感谢该文作者!) * * 对于无重复值的情况 * * 固定第一个字符,递归取得首位后面的各种字符串组合; * 再把第一个字符与后面每一个字符交换,并同样递归获得首位后面的字符串组合; * 递归的出口,就是只剩一个字符的时候,递归的循环过程,就是从每个子串的第二个字符开始依次与第一个字符交换,然后继续处理子串。 * * 假如有重复值呢? * ...
0
点赞
评论
收藏
转发
ZhangHao0810
2021-07-20 21:55
Java
题解 | #JZ 26二叉搜索树与双向链表# 好题 再刷!
这道题真的很拿人 二叉搜索树,做边一直递归,要有一个前驱pre节点。 递归到上一级的时候 root 就是pre的后继。 最终若返回pre,那么是降序排列,题干要求升序,故保存第一个节点,返回第一个节点。【多练,多尝试。】 public class Solution { TreeNode pre= null; TreeNode root=null; public TreeNode Convert(TreeNode pRootOfTree) { if(pRootOfTree ==null) return null; Convert(pRoo...
0
点赞
评论
收藏
转发
ZhangHao0810
2021-07-20 18:57
Java
题解 | #JZ25 复杂链表的复制#
复杂链表的复制,使用Map结构原链表存在key中, 新链表存在value中。将key链表的指针引用复制到 value链表上,返回value链表即可。 import java.util.HashMap; public class Solution { public RandomListNode Clone(RandomListNode pHead) { if(pHead == null){ return pHead; } RandomListNode p1 = pHead; RandomListN...
0
点赞
评论
收藏
转发
ZhangHao0810
2021-07-20 18:19
Java
题解 | #JZ24二叉树中和为某一值的路径#
递归 遇到路径长度的问题,可以利用扣减的方式,返回的是一个字典,故只有遍历到叶子结点 且target扣减到0 为一个字典元素。 ArrayList中有一个 构造,可以传入 Collection接口的实现类。 public class Solution { private ArrayList<ArrayList<Integer>> paths = new ArrayList<>(); private Stack<Integer> path = new Stack<>(); public ArrayList<...
0
点赞
评论
收藏
转发
ZhangHao0810
2021-07-20 11:53
已编辑
Java
题解 | #JZ23二叉搜索树的后序遍历序列# 值得多写
二叉搜索树 定义 二叉搜索树是一种节点值之间具有一定数量级次序的二叉树,对于树中每个节点: 若其左子树存在,则其左子树中每个节点的值都不大于该节点值; 若其右子树存在,则其右子树中每个节点的值都不小于该节点值。示例: 题解: 可以利用 二叉搜索树的根节点是左右节点限制这个条件 , 从最底部开始判断。 由于一个正确的遍历序列,我们可以在它任意一个位置故意篡改,因此势必要遍历所有的元素才能确定它的正确性,所以个人认为,这个问题的时间复杂度下界应该就是O(n)。 具体来说,二叉搜索树的关键特征是:对于任意一棵子树,均有“左子树<根节点<右子树”,因此,它的根节点约束了它左右子树的取值...
0
点赞
评论
收藏
转发
ZhangHao0810
2021-07-18 18:16
已编辑
Java
面经|#百度 一面面经
百度一面# 大概面了33分钟,问的比较全面。先自我介绍(1)先说说集合吧,又问了hashmap的原理,把与集合有关的都回答了。(2)JVM区域划分,每一部分再细讲一下。(3)有哪些垃圾回收算法,详细说了3个GC算法。(4)类加载的步骤,还有内存回收的过程。(5)讲一下G1垃圾回收器,这个还需要再往深的学一下。(6)死锁(7)讲一下volatile这个关键字,面试官说我讲的有点少。(8)描述一下什么是乐观锁,悲观锁。(9)volatile和synchronize的区别。(10)面向对象的六大原则,这个没有回答出来,只知道单一职责原则和开闭原则。(11)mysql常见的索引方式。再把每种索引方式讲...
0
点赞
评论
收藏
转发
ZhangHao0810
2021-07-18 16:26
Java
2021-07-18
在牛客打卡18天,今天学习:刷题 4 道/代码提交 23 次
每日监督打卡
0
点赞
评论
收藏
转发
ZhangHao0810
2021-07-18 16:24
Java
题解 | #JZ22从上往下打印二叉树 #
之前的积累派上用场了,但是一定要多复习。不然就会遇到 知道怎么做,明知道很简单,就是写不出来的尴尬。 牛客的编译器有点猫饼 不能返回null,记住要返回Null的时候,new 一个相应的对象返回它。 if(root==null) return new ArrayList(); if(root==null) return null; 报NullPointerException public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { if(root==null) return new A...
0
点赞
评论
收藏
转发
ZhangHao0810
2021-07-18 15:31
Java
题解 | #JZ21栈的压入、弹出序列#
还是遇到的少了,没能把情况考虑全面。 关于栈, 一定要考虑双向的情况,不能只push不pop,反之亦然。 public class Solution { public boolean IsPopOrder(int [] pushA,int [] popA) { Stack<Integer> stack = new Stack<>(); int popNum=0; for(int i=0;i<pushA.length;i++){ stack.push(pushA[i]); ...
0
点赞
评论
收藏
转发
ZhangHao0810
2021-07-18 15:04
已编辑
Java
题解 | #JZ20包含min函数的栈#
这里就体现出刷题的好处了,刷的多了就会遇到重复的题目。 思路有了之后便是逻辑编码 再就可以迎刃而解了。 本题收录在 《程序员代码面试指南》的第一题。我是用的是 两个栈,[一个只存最小值(值唯一),一个存原值] 的省空间方法。还有[维护高度相同的两个栈,一个存原值,一个存最小值] 的省时间方法。 public class Solution { Stack<Integer> stack = new Stack<>(); Stack<Integer> mainStack = new Stack<>(); public vo...
0
点赞
评论
收藏
转发
ZhangHao0810
2021-07-18 11:11
Java
题解 | #JZ19顺时针打印矩阵#
本题说白了就是考察 对数组的逻辑访问。转着圈的输出就行,做好边界的判定。 public ArrayList<Integer> printMatrix(int [][] matrix) { ArrayList<Integer> list = new ArrayList<>(); if(matrix==null||matrix.length==0||matrix[0].length==0){ return list; } int up = 0; i...
0
点赞
评论
收藏
转发
1
2
3
4
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务