全菜工程师小辉
全菜工程师小辉
全部文章
剑指offer...
Java语言特性(6)
数据库与中间件(3)
框架相关(1)
算法相关(3)
归档
标签
去牛客网
登录
/
注册
全菜工程师小辉的博客
有关后端开发和机器学习相关的干货分享,微信公众号同名
全部文章
/ 剑指offer最优解Java版
(共40篇)
剑指offer最优解Java版-机器人的运动范围
题目描述 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3...
2019-07-20
0
560
剑指offer最优解Java版-矩阵中的路径
题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e ...
2019-07-19
0
521
剑指offer最优解Java版-滑动窗口的最大值
题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4...
2019-07-18
0
825
剑指offer最优解Java版-数据流中的中位数
题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。 解...
2019-07-17
0
719
剑指offer最优解Java版-序列化二叉树
题目描述 请实现两个函数,分别用来序列化和反序列化二叉树。 解决方法:递归 先序遍历序列化二叉树。 class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; ...
2019-07-17
0
516
剑指offer最优解Java版-按之字形顺序打印二叉树
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 解决方法 在层序遍历的基础上,增加根据行数进行正向反向迭代(正向反向迭代利用LinkedList双向链表) class TreeNode...
2019-07-15
0
540
剑指offer最优解Java版-对称的二叉树
题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 解决方法:递归 class TreeNode { int val = 0; TreeNode left = null; TreeNode right...
2019-07-15
0
581
剑指offer最优解Java版-二叉树的下一个结点
题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 解决方法 中序遍历的顺序如图: 中序遍历 class TreeLinkNode...
2019-07-14
0
485
剑指offer最优解Java版-删除链表中重复的结点
题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 解决方法 两个阶段: 让快慢指针一起走,直到两个相遇。...
2019-07-13
0
520
剑指offer最优解Java版-孩子们的游戏(圆圈中最后剩下的数)
题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中...
2019-07-12
0
568
首页
上一页
1
2
3
4
下一页
末页