ZX2021
ZX2021
全部文章
分类
未归档(1)
题解(72)
归档
标签
去牛客网
登录
/
注册
ZX2021的博客
程序员的自我修养
全部文章
(共73篇)
题解 | #实现二叉树先序,中序和后序遍历#
二叉树的先序、中序和后序遍历的要点是:左右顺序固定,先序是根节点最先访问,后序是根节点最后访问,即三种访问顺序是根据根节点的访问顺序来命名的。在访问时递归即可。先序:根左右中序:左根右后序:左右根 /** * struct TreeNode { * int val; * struc...
二叉树
先序
中序
后序
2021-08-02
1
387
题解 | #最长公共子串#
动态规划,构造一个二维矩阵,相同的节点定为1,对角线为1最长的就是最长公共子串的长度。构造二维矩阵时想直接new[m][n]发现编译不过,这里先new出m个int*类型的指针,再为每个指针new出n个int类型的空间。参考了最长公共子串(动态规划) class Solution { public:...
动态规则
最长公共子串
2021-08-02
0
409
题解 | #求二叉树的层序遍历#
用一个vector<int>来存储每一层的值,使用vector<TreeNode*> node_next来存储下一层的节点。遍历当前节点以提取val的值,并且判断是否有子节点,如果有子节点则将其加入到node_next中,以node_next不断更新当前的node最终提取所有...
层序遍历
2021-08-02
0
484
题解 | #跳台阶#
跳到当前台阶n的方法有两种,从台阶n-1跳上来和从台阶n-2跳上来,即fun(n) = fun(n-1) + fun(n-2);当n为1时,只有一种方法,当n为2时有两种方法,即fun(1)=1,fun(2)=2 递归求解即可。 class Solution { public: int ju...
递归
2021-08-02
1
360
题解 | #两数之和#
遍历numbers,定义m_map,键为之匹配的另外一个数,值为索引(从1开始)。遍历时查看另外一个数是否出现,如果能够找到并且不是自身则输出,输出时将小的先放入vector中。没有出现,则将当前的数及索引存入到m_map中。 class Solution { public: /** ...
map
2021-08-01
0
367
题解 | #排序#
该题实现一个快速排序即可,注意vector是一个引用,否则函数调用后并不能改变vector class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 将给定数组排序 * @para...
排序
2021-08-01
0
360
题解 | #寻找第K大#
快速排序(从大到小排序)每一趟都能保证基准左边的数都比基准大,基准右边的数都比基准小。设基准的位置为i,则基准为第i+1大,若k等于i+1则符合条件退出。若i+1>k则说明第k大的数在基准左边,否则在右边。 class Solution { public: int findKth(ve...
快速排序
2021-08-01
0
463
题解 | #吃鱼#
如果一锅就能装下所有的鱼,则只需要2分钟。如果装不下则考虑有2n面鱼需要去煎,每次煎m面,需要2n/m(取整)分钟,如果有剩下,则剩下的一锅就能装下,只需要一分钟。 #include <stdio.h> #include <iostream> using namespace...
2021-08-01
2
514
题解 | #任务调度#
将任务以创建时间、PM的ID排序输入到队列A中,后期对队列A中的任务进行分配。时间k从0开始递增,当前时间k与Idea提出的时间相等时将其从队列A踢出,并加入到任务队列B中。每个任务的完成时刻等于当前时间加上完成任务所需的时间。若程序员没有做工,则从任务队列B中获取任务,工作时间等于任务所需时间,时...
优先级队列
2021-07-31
0
511
题解 | #特征提取#
该题读取特征时需要每次都读入x,y两个数字,两个数字组成二元组。每一帧的第一个数字代表有多少个这样的二元组,遍历即可。一行代表一帧,如果上一行的二元组在当前行也出现则为连续帧。用一个map来存储连续的次数,键为二元组,值为次数。如果为连续帧则次数加1,否则次数变为1。 #include <st...
map
2021-07-31
0
642
首页
上一页
1
2
3
4
5
6
7
8
下一页
末页