Bad man
Bad man
全部文章
分类
归档
标签
去牛客网
登录
/
注册
Bad man的博客
全部文章
(共125篇)
题解 | #牛名生成器#
知识点:哈希表,回溯这道题目考查的主要是回溯算法,用到哈希表的地方在于我们需要找到数字和字母的对应关系。首先,需要使用hashmap存储数字和字母的对应关系,然后,在根据出现的字符,依次尝试可能出现的字母,并保存下来,待所有数字遍历结束后,将该种字母排列保存下来。每次遍历结束后,需要删除当前字母,替...
2023-07-20
0
382
题解 | #牛的表达式计算器#
知识点:栈后缀表达式把运算符写在运算对象的后面,例如,把a+b写成ab+,所以也称为后缀式。这种表示法的优点是根据运算对象和算符的出现次序进行计算,不需要使用括号,也便于用械实现求值。对于表达式x:=(a+b)*(c+d),其后缀式为xab+cd+*:=。若想对后缀表示式进行运算,需要使用到栈,若遍...
2023-07-19
0
435
题解 | #牛群的秘密通信#
知识点:栈这道题属于栈的基本题目,只需要考虑三种括号的匹配。共有两种情况:1.出现左括号,需要入栈,等待后续相应右括号的匹配2.出现右括号,查看当前栈顶是否是对应的左括号,若不是,则匹配失败直接返回,若是,则左右括号匹配,将左括号出栈最终遍历所有字符后,若栈不为空,则说明有多余左括号未匹配,则匹配失...
2023-07-19
0
311
题解 | #最大体重的牛#
知识点:栈题目中输入的牛序号属于无用数据,只需要关注重量即可。使用两个栈:一个栈负责正常的操作,用于得到top的结果;另一个栈(最大栈)负责存储当前栈中的最大值,具体来说,若最大栈中无元素,则此时最大值为当前入栈的值,若栈中有元素,则需要和栈顶的元素比较,若栈顶元素更大,则将栈顶元素再次入栈,若当前...
2023-07-19
0
311
题解 | #调整牛群的位置#
知识点:数组对于空间复杂度O(n)的算法,我们只需要创建一个数组,依次向目标数组赋值即可。我们使用空间复杂度为O(1)的算法,使用三次反转也可以得到答案,第一次反转前k个元素[1,2,3]得到[3,2,1],第二次反转后n-k个元素得到[7,6,5,4],经过这两次反转后,数组结果为[3,2,1,7...
2023-07-18
0
409
题解 | #草原上优势牛种#
考查点:数组该问题很容易理解,我们只需要找到数组中的众数即可。很简单的思路是统计所有出现的数,找到出现次数占总数量一半的就是最终答案,而还有一种解法,我们可以先对数组排序,位于中间位置的数一定就是占总数量一半的元素。这样就可以以时间复杂度O(logn),空间复杂度O(1)解决问题。Java题解如下:...
2023-07-18
0
360
题解 | #草原上的牛群#
考查点:数组题目已经说明,数组是有序的,我们很容易可以想到,只需要遍历数组,判断相邻元素是否相同即可判断牛群数目,题目要求范围中nums长度大于1,而测试用例中nums会出现 [] 的情况,需要特殊判断。Java题解如下: import java.util.*; public class Sol...
2023-07-18
0
378
题解 | #草原牛群集合#
考查点:数组,双指针我们需要删除数组中值为val的元素,即对于值不等于val的元素,我们可以对其进行重新的排列,我们可以使用双指针的思想,对于指针j来说,我们用于保存应该保留的元素,遍历指针i的过程中,对于等于val的元素可以直接跳过,对于不等于val的元素,我们赋值给指针j所处的位置。Java题解...
2023-07-18
0
333
题解 | #相逆叶子#
考查点:二叉树,递归题目要求的是叶子节点值的序列是否相同,就有可能出现结构不同,但叶子节点符合条件的情况,故我们需要找出来叶子节点,然后比较二者的序列是否相同。首先对于叶子节点,我们可以使用中序遍历,找到叶子节点,并将其值存到一个列表里面,得到两个叶子节点的列表后,比较二者是否是逆序关系即可得到答案...
2023-07-18
0
360
题解 | #牛群的相似结构#
考查点:二叉树,递归一般来说,二叉树的问题都可以使用递归来解决,对于本题目来说,若想判断两个二叉树是否相等,需要满足两个条件:1.两个节点的值相等;2.两个节点的子树结构相等。如果两个节点都为null,或者满足以上两个条件,则可判定为相等。我们使用递归的方式对所有的子树进行判断,即可得到两个目标二叉...
2023-07-18
0
288
首页
上一页
4
5
6
7
8
9
10
11
12
13
下一页
末页