Bad man
Bad man
全部文章
分类
归档
标签
去牛客网
登录
/
注册
Bad man的博客
全部文章
(共125篇)
题解 | #牧场重组计划#
知识点:数组将数组逆时针旋转90度,如果是使用额外的空间的话,会很好理解,但是题目中要求的是使用原地算法来操作。将数组旋转90度,可以分解为两步:1.将数组按照中间对称反转2.将数组按照斜对角线进行反转完成后,即可得到旋转90度的效果。这是一个经典的题目,第一次遇到不容易想到,属于一种比较投巧的方法...
2023-07-25
0
382
题解 | #神奇牛的体重#
知识点:基本类型只需要按照题目要求的公式进行返回即可,需要注意的是,由于m和n都是int类型,相乘可能会出现溢出的情况,所以要将其转换成long类型返回。Java题解如下: import java.util.*; public class Solution { /** * 代码...
2023-07-25
1
285
题解 | #牛群避免水洼#
知识点:矩阵题目要求若一行或一列内有一个位置的元素为0,则整行或整列的元素都应该修改为-1,要求使用原地算法,故我们可以先使用额外的数组来统计那些行与列的元素为0,具体来说,使用一个行数组和一个列数组,分别记录该行或该列是否有0元素,遍历完成后,进行二次遍历,如当前行或列已经被标记,则需要将数组的元...
2023-07-25
0
339
题解 | #牛群分层排列#
知识点:二叉树,层序遍历要想得到二叉树每一层的值,需要对二叉树进行层序遍历,也就是广度优先搜索,我们需要使用一个队列来实现。具体来讲,我们对于每一层的节点,都需要加入到队列中,当节点出队时,我们将其左右子节点进行入队操作,在遍历每一层节点时,我们使用一个临时的变量size来约束队列出队的个数,也就是...
2023-07-23
0
388
题解 | #翻转牛群结构#
知识点:二叉树,递归这道题题解很简单就可以实现,主要的难度在于思路上,如果有了思路,这道题就可以很简单的解决。若想将一个二叉树进行反转,其实很简单,无非是将其左右节点进行反转,也就是使用一个临时节点,将左右节点交换即可。其中的一个问题在于左右子树的结构也需要进行反转的操作,故我们可以直接递归地调用该...
2023-07-23
0
296
题解 | #牛群的轴对称结构#
知识点:二叉树,递归由于二叉树本身就是一个重复的数据结构,一般来说都可以使用递归来解决此类问题。一个二叉树对称的条件是左右节点的值相等,且左右节点的结构也是相同的。具体来说,对于两个节点,若要实现对称的结构,要满足以下两点:1.两个节点都为空;2.两个节点都不为空,且两者值相同,A节点的左子节点与B...
2023-07-23
0
303
题解 | #牛舍扩建#
知识点:数组,双指针对于新加入的区间,我们并不知道到底该插入到哪个位置,故我们可以先对所有的区间按左端点进行排序,我们还需要用到双指针的思想,左指针一定是指向左端点,对于右指针,分以下两种情况:1.若下一个区间与当前区间有重合,我们需要判断是当前区间的右端点更大,还是下一个区间的右端点更大,以确保我...
2023-07-22
0
437
题解 | #奶牛喂养时间#
知识点:数组,双指针合并重合区间的数组,只有端点相邻的数组才可能出现重合区间,我们首先要想到可以先根据数组的左端点进行排序,我们还需要用到双指针的思想,左指针一定是指向左端点,对于右指针,分以下两种情况:1.若下一个区间与当前区间有重合,我们需要判断是当前区间的右端点更大,还是下一个区间的右端点更大...
2023-07-22
0
342
题解 | #草原上的牛群分布#
知识点:数组,双指针由于数组是有序的,对于重新分布后的数组长度很容易求得,只需要确保相邻的相同元素个数不超过三个即可,要想在不产生额外空间的情况下重新组合数组,就需要使用双指针的思想,一个指针指向应该放置的位置,另一个指针向后搜索,以跳过超出三个的后续元素。具体来讲,使用一个val变量保存当前元素值...
2023-07-22
0
329
题解 | #牧场奶牛集合区域#
知识点:数组,双指针题目所给的数组是有序的,我们需要找到连续的数组区间,对于这种区间问题,肯定要用到双指针的思想。左指针指向当前连续区间的起点,右指针向右遍历,找到连续区间的右端点为止。将该左右端点记录下来后,左右指针右移到下一个区间的起点处,直到遍历完整个数组的元素。Java题解如下: impor...
2023-07-22
0
287
首页
上一页
4
5
6
7
8
9
10
11
12
13
下一页
末页