牛客题解官
牛客题解官
全部文章
分类
题解(475)
归档
标签
去牛客网
登录
/
注册
牛客题解官的博客
全部文章
(共488篇)
删除链表中重复的结点
题目的主要信息: 在一个非降序的链表中,存在重复的节点,删除该链表中重复的节点 重复的节点一个元素也不保留 举一反三: 学习完本题的思路你可以解决如下题目: JZ18. 删除链表的节点 方法一:直接比较删除(推荐使用) 思路: 这是一个升序链表,重复的节点都连在一起,我们就可以很轻易地比较到重复...
C++
Java
Python3
2020-06-01
65
5888
第一个只出现一次的字符
题目的主要信息: 在给定字符串中找到第一个只出现一次的字符的位置,位置从0开始 如果找不到则返回-1 字符串只由大小字母组成 举一反三: 学习完本题的思路你可以解决如下题目: JZ56. 数组中只出现一次的两个数字 JZ39. 数组中出现次数超过一半的数字 JZ75. 字符流中第一个不重复的字符...
C++
Python3
Java
2020-06-01
34
5148
和为S的两个数字
题目的主要信息: 升序数组中找到和为S的两个数字 若有多组,返回任意一组 无法找到则返回空数组 举一反三: 学习完本题的思路你可以解决如下题目: 方法一:哈希表(推荐使用) 知识点:哈希表 哈希表是一种根据关键码(key)直接访问值(value)的一种数据结构。而这种直接访问意味着只要知道k...
C++
Python3
Java
2020-06-01
31
3403
连续子数组的最大和
#描述 这是一篇针对初学者的题解,共用两种方法解决。 知识点:数组,动态规划 难度:一星 #题解 题目抽象:给定一个数组,求连续子数组的最大和。 ##方法一:动态规划 状态定义:dp[i]表示以i结尾的连续子数组的最大和。所以最终要求dp[n-1] 状态转移方程:dp[i] = max(array[...
C++
2020-06-01
62
7876
最小的k个数
描述 这是一篇针对初学者的题解。共用三种方法解决。知识点:数组,堆,快排难度:二星 题解 题目抽象:求给定数组的topK小问题。 方法一:排序 直接排序,然后去前k小数据。 代码 class Solution { public: vector<int> GetLeastNum...
2020-06-01
120
15815
数组中出现次数超过一半的数字
描述 这是一篇针对初学者的题解。共用三种方法解决。知识点:数组,排序,哈希难度:一星 题解 题目抽象:给定一个数组,找出数组中的众数,若有,返回众数,若没有,返回0众数定义:数组中出现次数大于数组一般的元素 方法一:哈希法 根据题目意思,显然可以先遍历一遍数组,在map中存每个元素出现的次数,然后...
2020-06-01
172
12339
二叉树的深度
题目的主要信息: 给定一棵二叉树的根节点,求这棵树的最大深度 深度是指树的根节点到任一叶子节点路径上节点的数量 最大深度是所有叶子节点的深度的最大值 叶子节点是指没有子节点的节点 举一反三: 学习完本题的思路你可以解决如下题目: JZ82. 二叉树中和为某一值的路径(一) JZ28. 对称的二叉...
Python3
C++
Java
2020-06-01
39
4301
从上往下打印二叉树
举一反三: 学习完本题的思路你可以解决如下题目: JZ77. 按之字形顺序打印二叉树 JZ78. 把二叉树打印成多行 方法一:层次遍历(推荐使用) 知识点:队列 队列是一种仅支持在表尾进行插入操作、在表头进行删除操作的线性表,插入端称为队尾,删除端称为队首,因整体类似排队的队伍而得名。它满足先进先出...
C++
Java
Python3
二叉树
2020-06-01
31
3539
栈的压入、弹出序列
题目的主要信息: 给定两个序列,第一个表示入栈顺序,第二个表示出栈顺序 序列中没有重复的数字 判定第一个入栈顺序能否得到第二个出栈顺序 举一反三: 学习完本题的思路你可以解决如下题目: JZ9. 用两个栈实现队列 JZ30. 包含min函数的栈 方法一:辅助栈(推荐使用) 知识点:栈 栈是一种仅...
C++
Java
Python3
2020-06-01
114
7150
包含min函数的栈
描述 这是一篇针对初学者的题解。知识点:栈难度:一星 题解 题目抽象:要求实现一个O(1)时间复杂度的返回最小值的栈。正常情况下,栈的push,pop操作都为O(1),但是返回最小值,需要遍历整个栈,时间复杂度为O(n),所以这里需要空间换时间的思想。 方法:使用辅助栈 首先需要一个正常栈norm...
2020-05-29
106
4287
首页
上一页
40
41
42
43
44
45
46
47
48
49
下一页
末页