月关雨辰
月关雨辰
全部文章
题解
归档
标签
去牛客网
登录
/
注册
月关雨辰
全部文章
/ 题解
(共44篇)
题解 | #求路径#
来自专栏
题目思路:这道题目其实很一道很经典的动态规划题目,题目意思很好理解,就是找从起点到终点的所有可行的路径。 约束的两个条件: 机器人每次只能往右或者往下走机器人不能越界我们看到这张图就明白一切:从起点1开始 当i>1 j>1时, 到达第2行第2列的格子有2种路径, 第2行第3列有3中路径....
Java
2021-09-11
0
386
题解 | #阶乘末尾0的数量#
来自专栏
因为一个数的阶乘只有是5或5的倍数乘以2的时候才会出现尾随零,并且从阶乘中可以看出来2的个数远大于5的个数,所以由此可以推得求一个数的尾随零数的个数只需看它能除以几个5就有几个零了。从算法二可以知道本质就是求可以整除5的个数,可以得到 其中[N/5]表示不大于N中对5倍的贡献一个5,[N/5/5]表...
Java
2021-09-11
4
640
题解 | #螺旋矩阵#
来自专栏
对于每层,从左上方开始以顺时针的顺序遍历所有元素。假设当前层的左上角位于(up,left),右下角位于(down,right),按照如下顺序遍历当前层的元素。从左到右遍历上侧元素,依次为(up,left)到(up,right)。从上到下遍历右侧元素,依次为(up+1,right+1)到(down,r...
Java
2021-09-11
0
358
题解 | #寻找峰值#
来自专栏
看到题目有两个需要注意的点:1、找到索引最大的那个山峰元素并返回其索引,考虑从后往前遍历注意不要越界就行~2、假设 nums[-1] = nums[n] = -∞,需要对端点做处理即: 在对于数组的最后一个值,只需要考虑是否大于等于前面一个值,代码如(i == n && a[i] ...
Java
2021-09-11
0
368
题解 | #二叉搜索树的第k个结点#
来自专栏
二叉搜索树特性:左孩子 < 根节点 < 右孩子可以利用二叉树的中序遍历得到答案 import java.util.*; /* public class TreeNode { int val = 0; TreeNode left = null; TreeNode ...
Java
2021-09-11
0
353
题解 | #最长公共前缀#
来自专栏
解法一:纵向扫描将字符串数组看作一个二维空间,每一次从第一列开始。确定所有字符子串中第一列字符。逐层扫描后面每一列,遇到不同字符停止扫描。图解:复杂度分析:时间复杂度:O(M*N) 其中 M 是字符串数组中的字符串的平均长度,N是字符串的数量。最坏情况下,字符串数组中的每个字符串的每个字符都会被比较...
Java
2021-09-06
0
349
题解 | #最小的K个数#
来自专栏
里补充一下大根堆和小根堆的知识点,大根堆就是对于每个结点,其根结点最大;小根堆就是最小的放到根节点里面,每插入一个数字,然后就可以根据堆的情况进行调整。这里可以手动实现,也可以用STL里面的优先队列。这样就省去了我们对堆的调整,每次操作直接取堆顶就行了。这里注意的是如果自己实现堆的话可能堆的情况不止...
Java
2021-09-04
1
474
题解 | #最长重复子串#
描述一个重复字符串是由两个相同的字符串首尾拼接而成,例如abcabc便是长度为6的一个重复字符串,而abcba则不存在重复字符串。给定一个字符串,请编写一个函数,返回其最长的重复字符子串。若不存在任何重复字符子串,则返回0。从题目中我们可以整理出以下关键点:1.一个重复字符串是由两个连续的相同的字符...
Java
2021-09-01
0
759
题解 | #扑克牌顺子#
来自专栏
import java.util.*; public class Solution { public boolean IsContinuous(int [] numbers) { //时间复杂度为O(1) 因为numbers就5张扑克牌 所以不满足题目要求的时间复杂度 以...
Java
2021-09-01
0
433
题解 | #缺失数字#
来自专栏
思路方法1:利用等差数列递推公式题目明确指出所给的数据在0~n之间,且所有数值均只出现一次,而对于数列求和有求和公式 ,故,可以遍历整个数组求出总和sum1,再借助上述求和公式计算在不缺失数字的情况下的总和sum2,sum2-sum1即为所缺失的数字。 方法2:二分前面两种方法的时间复杂度都是,但...
Java
2021-09-01
0
444
首页
上一页
1
2
3
4
5
下一页
末页