![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
复试学习笔记
低调的网友
这个作者很懒,什么都没留下…
展开
-
复试学习笔记---逆层次序遍历
leetcode上做的一道题,逆序层次遍历,题目限制要保存成vector<vector<int>>的格式,加注释防止自己忘记思路。题目描述给定一个二叉树,返回其节点值自底向上的层序遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层序遍历为:[ [15,7], [9,20],...原创 2021-03-25 11:41:19 · 187 阅读 · 0 评论 -
复式学习笔记---0-1背包问题算法空间优化理解(动态规划)
在牛客网上做的题,对0-1背包问题算法的空间优化方法很纠结,顺了很久终于顺通了思路,记录下来以防忘记。题目描述 北大网络实验室经常有活动需要叫外卖,但是每次叫外卖的报销经费的总额最大为C元,有N种菜可以点,经过长时间的点菜,网络实验室对于每种菜i都有一个量化的评价分数(表示这个菜可口程度),为Vi,每种菜的价格为Pi, 问如何选择各种菜,使得在报销额度范围内能使点到的菜的总评价分数最大。 注意:由于需要营养多样化,每种菜只能点一次。输入描述: 输入的第一行有两个整数C(...原创 2021-03-24 17:28:36 · 884 阅读 · 0 评论 -
复试学习笔记---最大子矩阵(动态规划)
看完王道书学着打了一遍求最大子矩阵的代码,代码还是要亲手打才能真正理解啊,加了超级详细的注释,能理解怎么求一维最大子序列和的应该都能看懂。题目描述已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵。 比如,如下4 * 4的矩阵 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 的最大子矩阵是 9 2 -4 1 -1 8 这个子矩阵的大小是15。输入描述:输入是一个N * N的矩阵。输入的第一行给出N (0原创 2021-03-24 12:33:03 · 242 阅读 · 0 评论 -
复试学习笔记---动态规划分苹果
在牛客网做的一道题,加了很多注释防止自己忘记。题目描述把 M 个同样的苹果放在 N 个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?注意:5、1、1 和 1、5、1 是同一种分法,即顺序无关。输入描述:输入包含多组数据。每组数据包含两个正整数 m和n(1≤m, n≤20)。输出描述:对应每组数据,输出一个整数k,表示有k种不同的分法。//dp[盘子][果子]//1.全部盘子都放,最佳为dp[i][j-i]//2.有1个盘子空着,最佳为dp[i-1][原创 2021-03-23 21:40:55 · 214 阅读 · 0 评论 -
复试学习笔记---BFS层次遍历(可记录层高及每层结点个数)
在牛客网上做的一道题,加了很多注释防止自己忘记。题目描述玛雅人有一种密码,如果字符串中出现连续的2012四个数字就能解开密码。给一个长度为N的字符串,(2=<N<=13)该字符串中只含有0,1,2三种数字,问这个字符串要移位几次才能解开密码,每次只能移动相邻的两个数字。例如02120经过一次移位,可以得到20120,01220,02210,02102,其中20120符合要求,因此输出为1.如果无论移位多少次都解不开密码,输出-1。输入描述:输入包含多组测试数据,每组测试数据由两原创 2021-03-23 09:39:58 · 494 阅读 · 0 评论 -
复试学习笔记---并查集、最小生成树
在牛客网上做的一道题,做完以后加了很多注释以防自己忘记。题目描述 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。现得到城镇道路统计表,表中列出了任意两城镇间修建道路的费用,以及该道路是否已经修通的状态。现请你编写程序,计算出全省畅通需要的最低成本。输入描述: 测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( 1< N < 100 );随后的 N(N-1)/2 行对应村庄...原创 2021-03-22 20:49:50 · 113 阅读 · 0 评论 -
复试学习笔记---最短路径问题C++实现
在牛客网上做的一道题,做完以后加了很多注释以防自己忘记。题目描述给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。输入描述:输入n,m,点的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a和b之间有一条边,且其长度为d,花费为p。最后一行是两个数 s,t;起点s,终点t。n和m为0时输入结束。(1<n<=1000, 0<m<100000, s != t)原创 2021-03-21 22:41:00 · 164 阅读 · 0 评论