geniuszs
geniuszs
全部文章
分类
题解(9)
归档
标签
去牛客网
登录
/
注册
geniuszs的博客
全部文章
(共9篇)
机器人的运动范围
题目:地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+...
2020-04-25
0
615
矩阵中的路径
题目描述:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。思路 使用递归和回溯的思想,回溯思想:设置一个标记矩阵...
2020-04-25
0
519
数据流中的中位数
用两个堆来实现 如果是偶数个的话,大顶堆用来存放顺序数据流左边的元素,小顶堆用来存放顺序数据流右边的元素,中位数为两个堆顶的平均数。 如果是奇数个的话,大顶堆存放顺序数据流+中位数,小顶堆用来存放顺序数据流右边的元素,中位数为大顶堆的堆顶。 import java.util.*; public ...
2020-04-22
0
478
序列化二叉树
序列化二叉树:层次遍历的改进,定义一个数值sum用来存储当前队列中不为空值的个数。 public static String Serialize(TreeNode root) { String result = ""; if(root == null) { ...
2020-04-21
0
449
把二叉树打印成多行
import java.util.*; /* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) {...
2020-04-20
0
513
按之字顺序打印二叉树
思路:本题是层次遍历的改进(广度优先遍历)。 根为空,返回空的序列 初始化一个队列,根节点入队,设置一个遍历记录当前的层数(根所在层为1)和当前层的节点的数量。 当队列不为空的时候,且当前行在队列中的节点数量不为0的时候,取队头元素加入到list中,把队头的左右节点入队,当前行在队列中的节点数量-...
2020-04-20
0
588
对称的二叉树
思路: 当根节点为null时,返回true 当根节点不为空时,定义两个指针root1,root2分别指向根节点的左和右节点 当root1.left==root2.right和root1.right==root2.left同时为true时,返回true,否则为false。同时设置递归的终止条件:当两...
2020-04-20
0
545
构建乘积数组
思路:从题干中看出B[i]等于数组A中除了A[i]以外所有元素的乘积,于是在每次给B[i]赋值的时候都新开辟一个空间存放一个数组a,数组a等于A,使数组中的a[i]=1。此时,B[i]为a数组所有数的乘积。 import java.util.ArrayList; public class Solut...
2020-04-20
0
401
二叉树的下一个节点
思路如下图: /* public class TreeLinkNode { int val; TreeLinkNode left = null; //指向左 TreeLinkNode right = null;//指向右 TreeLinkNode next = nu...
2020-04-19
0
548