一个在东
一个在东
全部文章
题解
归档
标签
去牛客网
登录
/
注册
一个在东的博客
全部文章
/ 题解
(共49篇)
平衡二叉树_JAVA_简单
判断是否为平衡二叉树:节点为空,左右孩子深度差不超过1,且左右孩子也必须平衡(通过计算深度) 函数不可单纯计算深度,还需判断平衡,设置一个不可逆负值为非平衡,则可实现需求 public class Solution { public boolean IsBalanced_Solution(...
算法
2020-12-22
0
309
二叉树的深度_JAVA_简单
递归 当前节点深度为左右孩子的最大深度 + 1 public class Solution { public int TreeDepth(TreeNode root) { if(root == null) { return 0; } r...
算法
2020-12-22
0
403
连续子数组的最大和_JAVA_简单
求最大连续子数组和 可以转化为 求以每一个元素结尾的最大子数组和的最大值,而以当前元素结尾的最大子数组和可以由以上一个元素结尾的最大子数组和求得,则可使用动态规划qiuj 设n为当前遍历元素下标,e为当前元素,f(n)为以当前元素结尾的子数组和最大值,则f(n) = MAX(f(n - 1) + e...
算法
2020-12-20
1
449
数组中出现次数超过一半的数字_JAVA_简单
哈希法 用map存储每个键值的出现次数,存完检查为众数直接返回该数,循环结束直接返回0 import java.util.*; public class Solution { public int MoreThanHalfNum_Solution(int [] array) { M...
算法
2020-12-19
5
457
二叉树的镜像_JAVA_简单
递归算法 先交换该节点的左右孩子,再将孩子作为根节点作为参数调用函数,节点为空为终止条件 public class Solution { public void Mirror(TreeNode root) { // 当前节点不为空 if(root == null) { ...
算法
2020-12-19
0
289
变态跳台阶_JAVA_简单
设跳上n阶台阶的次数为f(n),跳上n阶台阶可以转换为最后一步上台阶,两步上台阶...n步上台阶,即为f(n) = S(n - 1) 转换: 由 f(n) = S(n - 1)则 f(n) = S(n - 1) = f(n - 1) + S(n - 2) = 2f(n - 1) public ...
算法
2020-12-19
0
350
旋转数组的最小数字_JAVA_简单
原数组为非递减(递增/相等)排序,旋转后仍然部分有序,在其中查找,可使用二分法 正常二分法用中值与查找值比较,该题查找最小值,使用中值和左右某端比较,判断最小值在哪个区间 判断条件抉择要点:既要符合单段非递减排序的查找最小值,又要符合两段混合查找最小值——选择右端点为基准点 右大换右(非递减区间/混...
算法
2020-12-19
3
516
斐波那契数列_JAVA_入门
斐波那契数列每次只需要用到两个数据,计算后也只需要保存两个数据(向前覆盖) public class Solution { public int Fibonacci(int n) { // 排除前两项 if(n < 2) { r...
算法
2020-12-19
0
407
用两个栈实现队列_JAVA_简单
栈先入后出(反序),队列先入先出(正序) 第一栈用来导出,第二栈用来导入 进队列时就压入第二栈,出队列就弹出第一栈栈顶,若第一栈顶为空就将第二栈元素导出到第一栈(反序变正序),再弹出 import java.util.Stack; public class Solution { Stac...
算法
2020-12-19
1
454
首页
上一页
1
2
3
4
5
下一页
末页