Bad man
Bad man
全部文章
分类
归档
标签
去牛客网
登录
/
注册
Bad man的博客
全部文章
(共125篇)
题解 | #基因变异最小次数#
知识点:广度优先搜索由一个字符串开始,寻找列表中只差一个字符的字符串,每次找到符合条件的字符串后,将其入队,出队时判断是否为目标字符串,每次遍历队列中的元素时,计数加一,出队时将相差一个字符的字符串继续入队,并将其标记,防止重复入队,当队列为空时,表示无目标字符串,返回-1。Java题解如下 imp...
2023-08-05
0
336
题解 | #牛群定位系统#
知识点:回溯这道题本身也属于一个普通的回溯寻找路径的问题,但是这道题的难点在于细节的处理上。题目要求找出符合要求的字符串,这就不同于普通的回溯,要找出所有的字符串,故我们使用Set集合来存储符合条件的字符串即可。还有一个点在于输出顺序并非是普通的按字典序排列,题目要求输出顺序为数组中的出现顺序,故我...
2023-08-05
1
390
题解 | #牛群最短移动序列#
知识点:广度优先搜索题目要求找到转换成目标字符串的单词个数,同时也包括了当前的初始单词,我们可以依次找出判断相差一个字符的单词,直至找到目标单词,这是一个非常典型的广度优先搜索问题。由初始单词出发,每次遍历候选单词列表,每一层遍历去寻找相差一个字符的单词,加入队列中,每一层队列遍历时添加一个计数,以...
2023-08-05
0
376
题解 | #农场牛群众数#
知识点:哈希表使用一个哈希表,对每个元素的出现次数进行计数,每次遍历到一个元素,都需要重新遍历哈希表,以用来确定当前哪个元素的出现次数最多,或者是出现次数最多且元素值最大,将其保存到结果数组中。Java题解如下 import java.util.*; public class Solution ...
2023-08-05
0
384
题解 | #牛群的活动区域#
知识点:广度优先搜索题目要求要将被包围的B转换为A,边界处不属于被包围的范围,故我们可以从边界出发,向内遍历所有的B并标记,表明被标记的B不会被转换成A。具体来说,将四个边界的B入队,然后依次出队,向四个方向进行广度优先搜索,将其依次标记并入队,直至队列中没有剩余元素,也就标记了所有的与边界相通的B...
2023-08-04
0
316
题解 | #牛吃草问题#
知识点:回溯这道题是经典的N皇后问题,每个皇后不能出现在同一行,同一列,同一对角线上。我们遍历每一行,同时,记录已经存在皇后的其他列与两个对角线,如果满足放置条件,则可以放置,并且在列和两个对角线中记录下来,防止后续皇后冲突,当可以放置下n个皇后时,即可计数加一,回溯遍历其他的条件,直至尝试过所有的...
2023-08-04
0
459
题解 | #牛群保卫战#
知识点:滑动窗口要想求出符合条件的连续子数组的和,可以使用滑动窗口的思想,右边界向右滑动,当数组和符合条件后,记录长度,并尝试将左边界收缩,尽可能地减小数组长度,当无法收缩左边界后,继续向右滑动有边界,直至数组边界。Java题解如下 import java.util.*; public clas...
2023-08-03
0
379
题解 | #牛奶工厂#
知识点:双指针如果只是对数组进行求和,只需要遍历两个数组即可得到答案。但是题目中还要求了对数组进行非递减的排序操作,并指定合并到time1中,我们可以从后往前遍历两个数组,将较大者存入time1数组末尾,当二者中有一个遍历完成,则可以停止比较,若是time1有剩余元素,则无需进行任何赋值操作。若是t...
2023-08-03
1
384
题解 | #牛群排队#
知识点:回溯这道题考查的是全排列问题,题目中已说明无重复元素,故我们在遍历时就可以对已经遍历过的元素进行判断,若已存在则跳过,直至整个数组的元素存入列表中。题目要求要倒序排序,故我们可以先对数组进行升序排序,再从后往前进行遍历。Java题解如下 import java.util.*; publi...
2023-08-02
0
407
题解 | #牛棚分组#
知识点:回溯,全排列这是一道经典的数组全排列问题,只不过我们只需要对k个数进行排列,我们使用回溯的方法向数组中添加元素,当列表中元素达到k个时,就将其保存下来作为一种排列情况,否则,就继续向列表中添加元素,直至遍历完所有的情况。Java题解如下 import java.util.*; publi...
2023-08-02
0
316
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页