小牛哥永不退缩
小牛哥永不退缩
全部文章
分类
归档
标签
去牛客网
登录
/
注册
小牛哥永不退缩的博客
全部文章
(共73篇)
题解 | #牛群的最大高度#
一、知识点:遍历、递归、二叉树二、文字分析:递归的方法来遍历二叉树的每个节点。对于每个节点,递归地找到左子树中的最高牛高度、右子树中的最高牛高度以及当前节点的牛高度,然后返回其中的最大值。三、编程语言:java四、正确代码: import java.util.*; /* * public cla...
2023-07-24
0
345
题解 | #牛群编号的回文顺序#
一、知识点:遍历、链表二、文字分析:快慢指针的方法找到链表的中间节点,然后反转后半部分链表。最后,我们分别从链表的头部和反转后的后半部分开始遍历并比较每个节点的值,判断链表是否是回文的。时间复杂度是 O(n),空间复杂度是 O(1)。三、编程语言:java四、正确代码: import java.ut...
2023-07-24
0
303
题解 | #牛群的身高排序#
一、知识点:归并排序、链表、指针二、文字分析:了归并排序来对链表进行排序。首先,我们使用快慢指针的方法将链表分为两个部分,然后递归地将每个部分进行排序。最后,我们将排序后的两个链表合并在一起,得到排序后的链表。整个过程使用的空间复杂度是 O(logn),时间复杂度是 O(nlogn),其中 n 是链...
2023-07-24
0
328
题解 | #牛群的合并#
一、知识点:队列、链表二、文字分析:优先队列(最小堆)来合并牛群。首先,我们遍历每个牛群中的牛,并将它们的编号依次添加到最小堆中。然后,我们从最小堆中逐个取出最小的编号,并构建一个新的链表作为合并后的结果。最后,返回合并后的链表。三、编程语言:java四、正确代码: import java.util...
2023-07-23
0
372
题解 | #牛群的能量值#
一、知识点:链表、遍历、指针二、文字分析:创建一个虚拟头节点dummy,同时创建一个指针curr指向dummy。定义一个变量carry来存储进位值的初始值为0。遍历两个链表,同时对两个链表中的节点进行相加操作,并将结果节点连接到结果链表中。如果链表的长度不一致,即其中一个链表遍历结束后,只需将剩余链...
2023-07-23
0
292
题解 | #合并两群能量值#
一、知识点:链表、遍历、指针二、文字分析:创建一个虚拟头节点dummy,同时创建一个指针prev指向dummy。从两个链表的头节点开始遍历,比较当前节点的值,将较大的节点接到结果链表中,并更新对应链表的指针。当其中一个链表遍历结束后,将另一个链表剩余的节点直接接到结果链表的后面。返回虚拟头节点的ne...
2023-07-22
0
287
题解 | #牛群的重新分组#
一、知识点:链表、链表反转二、文字分析:创建一个虚拟头节点dummy,将其指向原链表的头节点head。计算链表的长度length,以便确定需要进行翻转的组数。初始化两个指针prev和curr,分别指向当前组的前一个节点和当前组的第一个节点。在每一组内,使用反转操作将节点的指针方向翻转。连接相邻的组。...
2023-07-22
1
334
题解 | #牛群的重新排列#
一、知识点:链表、链表反转二、文字分析:创建一个虚拟头节点dummy,将其指向原链表的头节点head。定位到需要反转的起始位置的前一个节点,即第left - 1个节点。在反转区间内,逐个将节点插入到起始位置的前面,直到达到右边界。将反转区间内的最后一个节点的next指向剩余部分的第一个节点。只需对链...
2023-07-22
0
340
题解 | #相等的草堆#
一、知识点:遍历、数组二、文字分析:计算数组的总和sum。同时初始化leftSum为0。遍历数组,对于每个位置i,判断leftSum是否等于sum减去当前位置的重量和右侧草堆的总重量。如果相等,则返回当前位置i作为平衡点。更新leftSum,将其加上当前位置的重量。遍历结束后仍未找到平衡点,则返回-...
2023-07-22
0
301
题解 | #最大放牛数#
一、知识点:遍历、数组二、文字分析:算法的思路是,从左到右遍历草地。当遇到一个空地(0)时,我们可以放置一头牛(1),并将可放置牛的数量减一。然而,如果当前位置和前一个位置都有牛(1),则不能放置牛,因为会引发争斗。时间复杂度:该算法的时间复杂度为O(n),其中n是草地的长度。因为我们需要遍历整个草...
2023-07-22
0
326
首页
上一页
1
2
3
4
5
6
7
8
下一页
末页