Bad man
Bad man
全部文章
分类
归档
标签
去牛客网
登录
/
注册
Bad man的博客
全部文章
(共125篇)
题解 | #所有的回文子串II#
知识点:字符串,双指针对于判断回文子串,可以通过双指针的思想,将i,j指针指向字符串两侧,若存在不相同字符,则判定为非回文串。我们通过两层遍历整个字符串的所有子串情况,找到所有的回文子串,题目要求按字典序排序,不能有重复子回文串,故我们采用TreeSet来存储结果,指定字典序升序的比较器,最终使用s...
2023-07-30
0
286
题解 | #向左移动牛群#
知识点:数组对于k来说,如果超过了n,则会进行重复的操作,故可以先对k进行取余操作,即 k %= n。对于一个数组来说,向左移动k位,可以使用数组的原地反转来实现:1.反转后k个位置的所有元素 1,2,3,4,[7,6,5]2.反转剩余的前面位置的元素 [4,3,2,1],7,6,53.对整个数组进...
2023-07-30
0
377
题解 | #牛群的编号重排#
知识点:数组,双指针该题目难点在于理解,我们如何找到下一个字典序更小的排列,首先我们需要知道,下一个字典序更小的数字是什么,如何才能让一个数字的排列更小。对于1,2,3来说,字典序的排列为:1,2,31,3,22,1,32,3,13,1,23,2,1我们要做的是找到一个小于当前序列的新序列,并且,新...
2023-07-30
0
339
题解 | #牛牛队列成环#
知识点:链表,双指针该题目可以有两种解法,一种是将节点保存到Set集合里面,如若出现重复节点,则说明存在环,这种方法是空间复杂度是O(n)。一般来说,我们需要掌握快慢指针的方法,慢指针一次后移一步,快指针一次后移两步,如若成环,快指针就永远不会为空,就会一直循环下去,慢指针也会与其相遇,则可判定链表...
2023-07-30
0
336
题解 | #牛的回文编号#
知识点:回文串这道题目有很多解法,可以用数字进行反转,也可以直接将数字转换成字符串,判定字符串是否对称,这里只展示下通过数字进行反转的方法。利用%运算得到最低位数字,加入到目标最高位中,再将其除以10,去除最低位,重复以上操作,直至为零。Java题解如下 import java.util.*; ...
2023-07-29
0
281
题解 | #牛群的能量值#
知识点:链表因为链表存储的是倒序的数字,就比较好理解一些,我们只需要将节点依次相加,并考虑进位问题。具体来说,将两个链表节点的值和进位值相加,存储到新节点中,若超过十,则继续进位,表现在代码中就是在递归调用函数时,修改add参数,以传递进位关系。Java题解如下 import java.util.*...
2023-07-29
0
316
题解 | #合并两群能量值#
知识点:链表对于两个链表来说,一共需要考虑三种情况:1.两个链表节点都为空,返回null2.两个链表节点都不为空,判断两个节点的val,取较大值作为新节点的值,取该链表节点的后继节点,重复该步骤3.一个链表节点不为空,则直接取该节点的val,使用该节点的后继节点,重复该步骤直至两个链表的节点都为空时...
2023-07-29
0
335
题解 | #牛群的重新排列#
知识点:链表这道题目考查的还是链表反转问题,只不过需要我们自己确定需要反转的区间。具体来说,我们需要找到反转区间前后的两个节点,对于前面的节点来说,我们需要将其next指针指向我们反转后的结果;对于区间后面的节点来说,我们需要将区间第一个节点的next指针指向区间后面的第一个节点。Java题解如下 ...
2023-07-29
0
406
题解 | #牛群的重新分组#
知识点:链表和以往的链表反转不同,这道题目要求对k个一组的链表进行反转,对于k个节点来说,和普通的链表反转操作步骤相同,但还需要进行额外的操作。具体来说,对于第k+1个节点,我们首先需要将其作为第1个节点的后继节点,而不是以往的空节点。其次,如果第k+1个节点后还有一组k个节点,我们就需要递归地将其...
2023-07-29
0
378
题解 | #牛的品种排序III#
知识点:排序,计数题目要求对k种元素进行顺序排列,首先,我们需要知道这k种元素各自有几个,统计出元素的个数后,我们可以依次将元素放置在答案数组中,同时,需要将统计的个数减一,当个数减为零时,需要换下一个元素继续填充答案数组。Java题解如下 import java.util.*; public ...
2023-07-29
0
335
首页
上一页
3
4
5
6
7
8
9
10
11
12
下一页
末页