大厂算法岗必拿下
大厂算法岗必拿下
全部文章
题解
归档
标签
去牛客网
登录
/
注册
大厂算法岗必拿下的博客
欢迎一起学习~
全部文章
/ 题解
(共212篇)
题解 | #包含min函数的栈#
来自专栏
双栈法。 注意小栈的处理。时间复杂度:O(1)空间复杂度:O(n), 开辟了一个辅助栈。 class Solution { public: //双栈法解决此问题 stack<int> stk, mins; void push(int value) { ...
2021-09-04
0
342
题解 | #顺时针打印矩阵#
来自专栏
注意注释的细节 class Solution { public: vector<int> printMatrix(vector<vector<int> > matrix) { if(!matrix.size()) return {}; ...
2021-09-04
0
366
题解 | #字符串的排列#
来自专栏
简简单单的回溯。 注意set去重 class Solution { public: void perm(int pos, string s, set<string>& res ){ if(pos==s.size()-1){ res...
2021-09-04
0
338
题解 | #复杂链表的复制#
来自专栏
利用随即指针不管怎么指,指的永远是该列表的特性,保存一个node地址和位置索引得map。然后肯定要建立对于得vector保存新的节点,这样就可以在后于如果这个node有随机指针的话,方便找到那个元素,然后指向它。 以及其中用的新节点再次赋值的技巧。 node_vec.push_back(NULL);...
2021-09-04
0
415
题解 | #扑克牌顺子#
来自专栏
写继续循环的一种方式是可以借鉴的。 排序后算牌和牌之间的差值,最后必须减1,这才和0得数量等挂钩。 注意判断条件 interrapt<=zero_num 就可以证明有串子。 相邻牌相同得拍不算。 class Solution { public: bool IsContinuous( ...
2021-09-04
0
383
题解 | #翻转单词序列#
来自专栏
绝对不要用stack.size()在弹出的时候做循环,因为它得大小是动态变化的。 #include<bits/stdc++.h> class Solution { public: string ReverseSentence(string str) { str...
2021-09-04
0
399
题解 | #二叉搜索树的后序遍历序列#
来自专栏
实际上二叉树的中序遍历和后序遍历对应着一种栈的压入、弹出序列, 而对后序遍历序列从小到大排序就得到了中序遍历序列 我们得到中序遍历序列后, 将其作为入栈序列, 检查后序遍历序列是不是一个合法的出栈序列即可 需要以stack作为后续得中间变量 class Solution { public: ...
2021-09-04
0
523
题解 | #矩阵中的路径#
来自专栏
标准回溯解法 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param matrix char字符型vector<vector<&g...
2021-09-04
0
485
题解 | #丑数#
来自专栏
三指针做法做丑数。 丑数是递增的。 i2,i3,i5分别是三指针,res[i2],代表i2指针当前指的数,res[i2]*2,代表我当前指的这个数我要乘以我代表的2. 其余3,5同理。 因为丑数就是递增序列。因此每次就是相当于右移i2,i3,i5然后乘以自己的数(2,3,5)然后比较大小选择最小的那...
2021-09-04
0
410
题解 | #滑动窗口的最大值#
来自专栏
用堆的方法,和暴力的方法都可以。 关键对的解法看注释。 class Solution { public: vector<int> maxInWindows(const vector<int>& num, unsigned int size) { vect...
2021-09-03
0
369
首页
上一页
7
8
9
10
11
12
13
14
15
16
下一页
末页