Bad man
Bad man
全部文章
分类
归档
标签
去牛客网
登录
/
注册
Bad man的博客
全部文章
(共125篇)
题解 | #固定字符出现最大次数#
知识点:字符串 题目已经给定了窗口大小k,我们只需要将窗口在字符串中遍历一遍,同时判断字符出现次数即可。具体来说,我们统计子字符串中的字符出现次数,同时,如果该字符也出现在t字符串中,则可以将其记录下来,表示当前子字符串中存在该字符,窗口向右滑动,将右边界字符出现次数加一,左边界字符出现次数减一,重...
2023-08-16
0
315
题解 | #牛群喂食#
知识点:回溯 题目要求找到数组中和为target的序列,并且序列中的元素可以重复,原数组的元素并没有重复元素,这就确保了只有在同一个位置才可以找到该元素,题目还要求需要将最终结果升序排列,我们可以先对原数组进行升序排序,然后依次遍历自身及其后续元素,累加得到的元素和,当元素和等于target时,保存...
2023-08-16
0
409
题解 | #农场牛的最佳观赏次序#
知识点:二叉搜索树 题目表述并不清晰,但实际想表达的是找到一个升序排列的序列来作为观赏顺序,由于题目也规定了二叉树为二叉搜索树,故我们可以利用二叉搜索树的性质,中序遍历的结果即为升序排列的结果,我们只需要对该二叉搜索树进行中序遍历,同时保存节点值,得到的结果即为升序序列。 Java题解如下 impo...
2023-08-16
0
329
题解 | #统计农场牛数量#
知识点:二叉树,递归 我们只需要找到节点的总个数,当遍历到一个节点后,就将统计数+1,同时统计子树的个数,直至叶子节点,当节点为空时,直接返回0即可,直至遍历完整个二叉树 。 Java题解如下 import java.util.*; /* * public class TreeNode { *...
2023-08-15
0
347
题解 | #牛的体重排序#
知识点:二分查找 题目要求时间复杂度O(log(m + n)),故我们不能通过遍历两个数组来找中位数,而是对两个数组进行二分查找,我们先找出较短数组的中间值,然后去判断该中间值是否符合条件。对于两个数组来说,总个数是m+n,总数若为偶数,中位数是第(m+n) / 2个元素和第(m+n) / 2 + ...
2023-08-15
0
375
题解 | #小猪摘水果#
知识点:差分数组题目给出一个差分数组,要求我们找到原数组中的最大值和位置,测试用例中只要求我们找到原数组中的最大值,因为我们已知有每个元素之间的差值,很容易根据第一个元素找到后续所有元素的值,也就可以通过一次遍历得到原数组的最大值。Java题解如下 import java.util.*; pub...
2023-08-15
0
335
题解 | #相等的草堆#
知识点:数组,前缀和题目要求找到除去当前位置后,左边总和等于右边总和的位置,很容易可以看出这是道前缀和知识的题目,因为我们也要找右边的和,所以我们维护两个数组,一个保存每个位置的前缀和,一个保存每个位置的后缀和,得到两个数组后,只需要依次比较每个位置的前缀和与后缀和是否相等即可。Java题解如下 i...
2023-08-14
0
378
题解 | #最大放牛数#
知识点:数组可放置的要求是左右相邻的元素都为0,我们只需要遍历一遍数组,同时进行判断,若左右元素不为1,则将当前位置置1,同时n-1,表示已放置,继续向后遍历,遍历完成整个数组后,若n<=0,则说明有多于n个位置可放置,返回true。Java题解如下 import java.util.*; ...
2023-08-14
0
407
题解 | #牛群重量积#
知识点:数组题目提示的很清楚,就是利用前缀和的思想,只不过这道题目需要使用前缀的乘积和后缀的乘积,分别定义两个数组来存储前缀乘积和后缀乘积,二者都可以通过遍历一遍数组累乘得到。之后再根据题目要求,去除当前位置及其左右的元素,也就是相隔一个位置的前缀乘积*相隔一个位置的后缀乘积,以得到答案数组。Jav...
2023-08-14
0
367
题解 | #没有出现的编号#
知识点:数组题目要求找到两个值,一个是没出现的最小正整数,一个是最大的负数,我们遍历一次数组,就可以找到最大的负数,而对于没出现的最小正整数,我们可以使用Set集合来存储出现了的正整数,遍历完整个数组后,从1开始递增,判断是否在Set集合中,如不在,则说明我们找到了没出现的最小正整数。Java题解如...
2023-08-14
0
360
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页