♿
♿
全部文章
分类
题解(7)
归档
标签
去牛客网
登录
/
注册
♿的博客
全部文章
(共7篇)
题解 | #牛牛分蛋糕#
思路:二分即可,每个盘子分mid个蛋糕,看够不够分成n份,每次缩小一半规模。 时间复杂度:空间复杂度: class Solution { public: int splitCake(int n, int a, int b) { // write code here ...
二分
2021-07-29
0
499
题解 | #数的划分#
思路: 表示将分成份的方案数 每份不为空,所以我们先取出个先分成份,剩下个可以分配到份,份...份中,所有分配方案都不同再求一下 可以发现与只差了一项时间复杂度:空间复杂度: class Solution { public: int divideNumber(int n, int k) { ...
动态规划
2021-07-27
0
549
题解 | #二叉树的个数#
答案其实就是卡特兰数,求法有很多种,下面介绍逆元求法: 求等同于求, 为在下的逆元逆元存在定理:如果, 且为质数,那么a存在逆元的充要条件是,那么是的逆元,也是的逆元。费马小定理:如果是一个整数, 是一个质数 如果是的倍数: 否则 所以的逆元是故同余结果为 ; Lucas定理: ...
数论
2021-07-27
2
647
题解 | #汉诺塔问题#
经典递归入门题,只需要三步即可。 将left的n-1个盘子通过right移到mid上 将1个盘子从left移到right上 将mid上n-1个盘子通过left移到right上 class Solution { public: vector<string> res; v...
dfs
2021-07-26
0
507
题解 | #矩阵最长递增路径#
经典老题了,直接记忆化搜索即可。 class Solution { public: int dir[4][2] = {{-1,0},{0,1},{1,0},{0,-1}}; int n, m, res = 0; vector<vector<int>> ...
dfs
2021-07-21
0
537
题解 | #数组中相加和为0的三元组#
利用单调性即可,去重可以考虑将三元组映射成一个整数。 时间复杂度:空间复杂度: class Solution { public: vector<vector<int> > threeSum(vector<int> &nums) { ...
2021-07-21
0
447
基础题
层次遍历判断是否是完全二叉树, 中序遍历判断是否是二叉搜索树 /** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ class Sol...
dfs
bfs
2021-03-25
1
676