牛牛想要一个面试
牛牛想要一个面试
全部文章
分类
归档
标签
去牛客网
登录
/
注册
牛牛想要一个面试的博客
全部文章
(共80篇)
题解 | #括号生成#
思路:相当于一共�n个左括号和�n个右括号,可以给我们使用,我们需要依次组装这些括号。每当我们使用一个左括号之后,就剩下�−1n−1个左括号和�n个右括号给我们使用,结果拼在使用的左括号之后就行了,因此后者就是一个子问题,可以使用递归:终止条件: 左右括号都使用了n个,将结果加入数组。返回值: 每一...
2023-01-28
0
264
题解 | #N皇后问题#
知识点:递归与回溯递归是一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。因此递归过程,最重要的就是查看能不能讲原本的问题分解为更小的子问题,这是使用递归的关键。如果是线型递归,子问题直接回到父问题不需要回溯,但...
2023-01-28
0
265
题解 | #字符串的排列#
1.老版写法 #include <string> #include <utility> #include <vector> class Solution { public: void dfs(unordered_set<string> &res...
2023-01-28
0
230
题解 | #岛屿数量#
1.深度优先搜索DFS知识点:深度优先搜索(dfs) 深度优先搜索一般用于树或者图的遍历,其他有分支的(如二维矩阵)也适用。它的原理是从初始点开始,一直沿着同一个分支遍历,直到该分支结束,然后回溯到上一级继续沿着一个分支走到底,如此往复,直到所有的节点都有被访问到。思路:矩阵中多处聚集着1...
2023-01-27
0
282
题解 | #有重复项数字的全排列#
这道题与没有重复项数字的全排列的解题思路一样,不过需要进行去重 #include <vector> class Solution { public: void recursion(set<vector<int>> &st, vector<int>...
2023-01-27
0
243
题解 | #没有重复项数字的全排列#
1.思路:全排列就是对数组元素交换位置,使每一种排列都可能出现。因为题目要求按照字典序排列输出,那毫无疑问第一个排列就是数组的升序排列,它的字典序最小,后续每个元素与它后面的元素交换一次位置就是一种排列情况,但是如果要保持原来的位置不变,那就不应该从它后面的元素开始交换而是从自己开始交换才能保证原来...
2023-01-27
0
309
题解 | #缺失的第一个正整数#
1.排序后查找 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @return(756...
2023-01-20
0
294
题解 | #数组中只出现一次的两个数字#
#include <unordered_map> #include <vector> class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * ...
2023-01-20
0
294
题解 | #数组中出现次数超过一半的数字#
class Solution { public: int MoreThanHalfNum_Solution(vector<int> numbers) { unordered_map<int,int> m; int n = numbers...
2023-01-20
0
235
题解 | #三数之和#
#include <vector> class Solution { public: vector<vector<int> > threeSum(vector<int> &num) { //排序 sort(num...
2023-01-20
0
315
首页
上一页
1
2
3
4
5
6
7
8
下一页
末页