Bad man
Bad man
全部文章
分类
归档
标签
去牛客网
登录
/
注册
Bad man的博客
全部文章
(共125篇)
题解 | #寻找完成任务所需最短时间#
知识点:滑动窗口题目要求找到最短的符合要求的子字符串,我们可以使用滑动窗口的思想,右指针向右滑动,若窗口内的子字符串包含了目标字符串,则将其记录下来,同时,尝试将左指针右移,以缩小窗口大小,得到长度尽可能短的子字符串,当不再符合条件时,右指针右移,继续寻找后续符合条件的子字符串。Java题解如下 i...
2023-08-09
0
309
题解 | #寻找两头牛的情报关联#
知识点:双指针题目规定,数组已经有序,按照非递减排序,故可以利用双指针的思想,我们可以直接选择两个数,一个最大值,一个最小值,若二者之和小于目标和,则此时只有增大较小值才能接近目标和,故将左指针右移一位,若二者之和大于目标和,则需要将右指针左移一位,以减小和,重复以上步骤,直至两个指针重叠,或者已经...
2023-08-09
0
414
题解 | #递减种子序列#
知识点:动态规划对于动态规划类的题目,一个难点是定义出状态,另一个难点是找出状态转移方程。这道题中,我们可以定义dp[i]为i位置可以得到的最长递减序列长度,当我们获得了0到i-1位置的最长递减序列长度时,对于i位置来说,我们只需要依次判断是否能与前序列形成递减关系,若可以,则最长递减序列的长度+1...
2023-08-09
0
519
题解 | #不能连续吃草的牛II#
知识点:动态规划由于题目规定,数组成环,故第一个元素和最后一个元素是相邻的,不能同时选择,故我们可以将其分解为两个子问题,对于长度为n的数组来说,我们可以在0到n-1的区间内找到元素和最大值,并且在1到n的区间内找到元素和的最大值,这样就避免了首尾元素相遇的问题,二者中的较大值即为答案。Java题解...
2023-08-09
0
398
题解 | #牛的奶量统计#
知识点:二叉树对于二叉树相关的题目,比较简单的思路就是使用递归来解决,题目要求判断根节点到叶子节点的路径和是否等于目标和,我们只需要从根节点开始向下查找,每次将目标和减少当前节点的值,若到达叶子节点,且目标和等于叶子节点的值,则返回true,否则返回false,同时对左右子树进行判断,将二者结果取或...
2023-08-08
0
413
题解 | #奶牛快乐数#
知识点:数学题目很简单,对于整数n来说,我们可以利用取余操作很容易地得到每位数字,在得到新的数字后,判断是否为1,若为1,则可以直接返回,否则将新的数字重复以上步骤,需要注意的点在于如何终止循环,如果新的数字已经判断过,则会循环后续重复的判断,故我们需要使用Set来对判断过的数字进行记录,若遇到重复...
2023-08-07
0
401
题解 | #农场的奶牛分组#
知识点:动态规划对于动态规划类的题目,最关键的一步是找到状态转移方程,如何由前一状态转换为下一状态,题目要求找出元素和相同的两部分,也就是要找到一个和为总和一半的子序列。我们可以定义dp[i][j],代表前i个元素是否能组成和为j的子序列,对于当前状态<i, j>来说,可以由上一状态转换...
2023-08-06
0
383
题解 | #牛牛的跳跃挑战#
知识点:动态规划很简单的一道动态规划问题,对于当前位置来说,可以选择前三个位置中消耗最小的位置到达。需要注意的地方是,题目所给出的数组是障碍物,也就是需要消耗的值,对于所给数组来说,若长度为n,则实际位置数为n+1,即我们需要到达的位置是n+1处,翻过最后一个障碍物所消耗的值即为答案。Java题解如...
2023-08-06
0
404
题解 | #挤奶路径2#
知识点:二维动态规划基本的思想还是二维的动态规划,每一步要计算上一步的两种方式到达该位置的和,遇到障碍物则置零,这道题目的难点在于需要先找到元素值为2的位置,然后根据该位置为起点,向右向下再达到右下角终点位置,相当于两次路径寻找,答案为两次路径数的乘积。Java题解如下 import java.ut...
2023-08-06
0
391
题解 | #不能连续吃草的牛#
知识点:动态规划对于动态规划,需要把每一步分解为子问题,因为不能选择相邻位置的元素,故对于第i个位置来说,如果选择该位置,则需要舍弃i-1位置元素,我们定义dp[i]为到达i位置时,我们所能获取的最大元素和,有两种情况:1.不选择当前位置i的元素,此时dp[i]=dp[i - 1],继承上一位置所能...
2023-08-05
0
352
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页