青叶摩卡
青叶摩卡
全部文章
分类
归档
标签
去牛客网
登录
/
注册
青叶摩卡的博客
TA的专栏
0篇文章
0人订阅
面试高频榜单思路
0篇文章
0人学习
面试高频榜单思路梳理
0篇文章
0人学习
面试高频榜单思路梳理
0篇文章
0人学习
全部文章
(共136篇)
题解 | #合并两个有序的数组#
class Solution { public: void merge(int A[], int m, int B[], int n) { int idx = m + n - 1; int im = m - 1; int in = n - 1;...
2023-03-29
0
202
题解 | #判断链表中是否有环#
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} ...
2023-03-29
0
219
题解 | #剪绳子#
贪心,建议直接记官方题解的结论。class Solution { public: int cutRope(int number) { if (number <= 3) return number - 1; if (number == 4) return ...
2022-12-09
0
186
题解 | #机器人的运动范围#
基本思路:要到达一个点首先需要它四周有点可到达,然后才是它自己满足条件,可以想到基本框架用BFS搜索。然后,这个点自己需要满足的条件如下:它在规定的行坐标和列坐标范围内:在队列添加下一个点时简单判断即可它的行列各位数之和小于等于threshold:在队列添加下一个点时加和判断即可它不能被重复计数:用...
2022-12-09
0
365
题解 | #矩阵中的路径#
基本递归,注意用#标记matrix中已经走过的路径,递归完后复原路径。class Solution { public: char* matrix, *str; int rows, cols, len; bool hasPath2(int i, int j, int index...
2022-12-08
0
300
题解 | #滑动窗口的最大值#
应该是最经典的hard题之一了。基本思路:一个重要的性质:如果滑动窗口右端在j时,滑动窗口内部有num[i] <= num[j]且i < j,那么其实在j以及j的右端,num[i]已经完全失去了作用(相当于被j覆盖了),可以被删除。使用双端队列deque维护非递增序列,队头为滑动窗口最大...
2022-12-08
0
314
题解 | #数据流中的中位数#
基本思路:中位数是数组最中间的一个或两个元素,所以考虑直接将数组分为两部分,左边部分取最大值,右边部分取最小值,这种要求可以用堆(优先队列)满足。如果数组元素个数为奇数,只需要取一个数,所以事先约定左边部分的元素个数一定大于右边部分,这样在数组元素个数为奇数时一直取左边部分的最大值。class So...
2022-12-08
0
275
题解 | #序列化二叉树#
反序列化思路有点混乱,总之大致思路是层序遍历class Solution { public: char* Serialize(TreeNode *root) { string tmp; if (!root) { tmp = "#...
2022-12-08
0
296
题解 | #把二叉树打印成多行#
层序遍历class Solution { public: vector<vector<int> > Print(TreeNode* pRoot) { vector<vector<int>> res; ...
2022-12-08
0
276
题解 | #按之字形顺序打印二叉树#
层序遍历,加个flag转向就行了class Solution { public: vector<vector<int>> Print(TreeNode* pRoot) { vector<vector<int>> res; ...
2022-12-08
0
273
首页
上一页
3
4
5
6
7
8
9
10
11
12
下一页
末页