牛客题解官
牛客题解官
全部文章
分类
题解(475)
归档
标签
去牛客网
登录
/
注册
牛客题解官的博客
全部文章
(共488篇)
等差数列
题解 难度:简单 知识点:排序 数学逻辑 思路: 1.首先将n个元素存放在动态数组x中,对其进行从小到大排序。 2.通过x[1]-x[0]计算出d,采用for循环判断动态数组中两个相邻的数的差x[i]-x[i-1]与d是否相同:若不相等即不能构成等差数列,无需对之后的数进行判断,提前退出循环。 3....
2020-06-05
0
771
迷宫寻路
题解 难度:偏难 知识点:BFS 状态压缩 队列 思路: 如果不存在钥匙和锁的情况:(理解BFS过程) (将例子中的小写字母看为1,大写字母看为0)构成数组G[5][5] 起始位置G[0][1],因此得到b[0][1]=0 【注】辅助数组b[i][j]用来记录从起始位置到坐标(i,j)一共的步数...
2020-06-05
0
987
堆棋子
题解 难度:中等 知识点:暴力求解 棋子只能上下左右移动,所以移动的步数即操作次数为两个位置的曼哈顿距离坐标(x1,y1)的i点与坐标(x2,y2)的j点的曼哈顿距离为d(i,j)=|x1-x2|+|y1-y2| 本题是要求解棋盘上出现一个格子中至少k个棋子的最少操作。那这k个棋子出现在那个格子呢,...
2020-06-05
0
829
删除重复字符
删除重复字符 题目难度:简单 知识点:字符串 方法一 通过字符下标判断该字符是否需要输出。使用lastIndexOf()和indexOf()方法,其中lastIndexOf()表示字符在此字符串中最后一次出现的索引,indexOf()表示字符在此字符串中第一次出现的索引。定义一个StringBuff...
2020-06-05
0
1106
判断题
判断题 题目难度:简单 知识点:数学逻辑 方法一 解题思路:最高的考试分数为考试中正确题目的最大数量加错误题目的最大数量。当考试中猜测为对的题目数t大于实际正确的题目数a时,a为正确题目的最大数量,(n-t)为错误题目的最大数量,当考试中猜测为对的题目数t小于实际正确的题目数a时,t为正确题目的最大...
2020-06-05
0
694
DNA序列
DNA序列 题目难度:中等 知识点:数学逻辑、宽度优先遍历 方法一 采用宽度优先遍历,得到长度为i的子串的所有排列,比较字符串中是否存在全部子串,若全部存在,则继续下一个长度的子串的遍历,否则,i即为字符串中没有包含所有该长度的子串,输出i,循环结束。 import java.util.Scanne...
2020-06-05
0
752
括号匹配深度
题解 题目难度:简单 知识点:字符串、数组、栈 分析: 因为题目本身是针对合法字符串求深度,省去了判断字符串是否合法的步骤,所以该题较简单,下面给出2种解法 方法1: 利用数组,统计到当前位置Xi时连续左括号的长度 import java.util.Arrays; import java.util....
2020-06-05
2
1233
平方串
题解 题目难度:中等 知识点:LCS(最长公共子序列问题),动态规划 分析: 本题实际是要找出s的最长子序列,看到这个问题就应该想到利用动态规划去解决。一般是找s1、s2两个字符串中的最长子序列,那么该题中就可以遍历s,以每个字符位置作为分割点,将s分割成s1和s2两个字符串,利用动态规划去求解s1...
2020-06-05
0
651
最后一位
题解 题目难度:简单 知识点:数学问题,二分算法 分析: 针对本题,有两种方法,一种利用数学思想,较为直接粗暴的搜索;另一种方法可以利用二分法来解决 方法1: 针对本题,第一想法是通过暴力的方法利用数学思路解答,给出sum的值求原值x(如果存在则为x,否则x=-1),那么sum = x+(1/10)...
2020-06-05
0
0
推箱子求最短路径问题
题解 题目难度:hard 知识点:迷宫搜索类问题,利用BFS找到最短路径。 分析: 将人所在位置与箱子所在位置以及所走步数看作整体,新建节点Node。首先初始位置入队,通过移动不断将还没有经过的下一位置节点入队,直至找到箱子之前箱子的位置是不变的;当人找到箱子之后(即在箱子的一侧,上下左右),开始推...
2020-06-05
1
1789
首页
上一页
14
15
16
17
18
19
20
21
22
23
下一页
末页