wangkeli3
wangkeli3
全部文章
分类
题解(6)
归档
标签
去牛客网
登录
/
注册
wangkeli3的博客
全部文章
(共27篇)
题解 | #判断是不是平衡二叉树#
题意 输入一棵节点数为 n 的二叉树,判断该二叉树是否是平衡二叉树。 思路 平衡二叉树是满足以下两种条件的二叉树:左右子树高度差相差小于等于1且左右子树都为平衡二叉树。 于是我们可以使用递归和深搜来判断一棵树受否为平衡二叉树,先判断高度是否满足条件,再递归判断左右子树是否为平衡二叉树。 class ...
C++
2022-02-07
0
349
题解 | #括号生成#
题意 求出所有由n对括号组成的合法括号序列。 思路 我们可以发现,对于一个合法的括号序列,任意一个右括号都一定和前面的一个的左括号配对。因此对于任意一个合法的括号序列,任一时刻其右括号数量一定小于等于左括号。由此,我们可以搜索括号序列并储存所有合法的括号序列,代码如下。 class Solution...
C++
2022-02-07
0
346
题解 | #二叉树的最大深度#
题意 求给定二叉树深度。 思路 我们可以参考类似一题,只不过节点的值全部都为1,只需要从根节点搜索到叶子节点就可以得到结果。 /** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *righ...
C++
2022-02-07
0
357
题解 | #二叉树中和为某一值的路径(一)#
题意 给定一个二叉树,判断是否存在这样的路径:它由根节点到叶子节点,且路径上的节点的值之和等于给定数。 思路 分析题目,我们可以发现:如果存在满足题目要求的路径,那么它所有的节点一定是由二叉树根节点与二叉树左子树或右子树中的一条子路径构成的,而子路径也可以通过这种方法求出,因此我们可以考虑递归与深度...
C++
2022-02-06
0
299
题解 | #二叉树中的最大路径和#
题意 对于给定的二叉树,计算经过节点值总和最大的路径的节点值总和。 思路 我们可以发现,对于某棵二叉树,其所有路径只有三种可能: 路径全部位于左节点一侧 路径全部位于右节点一侧 路径包含根节点 因此,对于一颗给定的二叉树,我们可以将其递归处理,分别求出其左右子树节点值总和最大路径的和,最后就可以...
C++
2022-02-06
0
286
题解 | #二叉树根节点到叶子节点的所有路径和#
题意 给定一颗二叉树,每个节点上有一个数字,计算每一条从根节点到叶子节点的路径组成的数字的和。 思路 由于二叉树的左右子树也都是二叉树,我们只需要对其递归操作就能得到结果,这里我们使用深度优先搜索的方法,从根节点开始,分别计算左右子树路径和,每到一个叶子节点说明已经找到了一条路径,将总和sumTot...
C++
2022-02-01
0
289
题解 | #学英语#
题意 编写程序将一串阿拉伯数字转化为符合英语语法的写法,n≤2000000n≤2000000n≤2000000。 解答 依据题目说明,我们可以发现数字在英语读法中三位数字看成一整体,后面再加一个计数单位。而相同部分的英语读法相同,由此我们可以想到利用递归将大数字分为几个三位的数字,再拼接在一起即可。...
C++
2022-01-28
4
609
题解 | #迷宫问题#
题意 在一个迷宫中,只能上下左右走,找出从左上角到右下角的路线。 解答:DFS 对于迷宫类题目,由于题目保证了有且只有一条通道,因此我们可以用深度优先搜索(DFS)解决这个问题。 #include<bits/stdc++.h> using namespace std; int mp[11...
C++
2022-01-18
1
718
#题解#名字的漂亮度
题意 给出一个由小写字母组成的字符串,找到一个数组{a1...a26}={1,2...261,2...261,2...26},使得∑i=1nai∗pi\sum_{i=1}^n a_i*p_i∑i=1nai∗pi最大,其中pip_ipi是第i个字母出现的次数。 解答 容易发现由排序不等式,只需...
C++
C
2021-12-09
8
914
题解 | #Sudoku#
题意 给出一个未解的数独谜题,解这个数独。 解答 这是一道搜索的基础题,我们用深度优先搜索解决它。 代码如下: #include <bits/stdc++.h> using namespace std; int sd[11][11];//数独方阵定义 bool p[11][11],l[...
C++
2021-12-09
0
382
首页
上一页
1
2
3
下一页
末页