自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

@啊哈哈哈哈哈韩的博客

这个人很神经,什么也没有留下~

  • 博客(637)
  • 收藏
  • 关注

原创 【刷题实录之回溯法】leecode51. N皇后(回溯法)

本题采用回溯法,首先要定义全局变量,一般是包含两个即res、path,本题再加一个pos,共四行,表示已有的行、已有的列、已有的斜线(正对角线方向)、已有的斜线(副对角线方向),注意pos的初始化方式;然后定义回溯函数,终止条件为path大小等于n,即已经找到一个可行方案,加入res,然后横向遍历当前行的每一个结点,看是否符合条件(保证已加入的皇后不会被攻击),不符合条件则跳过,符合条件则处理结点(加入path,pos也要加入对应的行列斜线),然后继续纵向遍历,执行回溯函数,最后撤销结果即可。

2025-03-20 19:14:52 555

原创 【刷题实录之图论】卡码网:53. 寻宝(Kruskal算法)

不同岛屿之间,路途距离不同,国王希望你可以规划建公路的方案,如何可以以最短的总公路距离将 所有岛屿联通起来。给定一张地图,其中包括了所有的岛屿,以及它们之间的距离。这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。:Kruskal算法,加入边,按权值排序,如果边的两个端点不属于一个集合,就把边加入集合,使用了并查集,直至所有边都被遍历。接下来共有 E 行,每行三个整数 v1,v2 和 val,v1 和 v2 为边的起点和终点,val代表边的权值。

2025-03-19 20:50:42 145

原创 【刷题实录之图论】卡码网:117. 软件构建(拓扑排序)

某个大型软件项目的构建系统拥有 N 个文件,文件编号从 0 到 N - 1,在这些文件中,某些文件依赖于其他文件的内容,这意味着如果文件 A 依赖于文件 B,则必须在处理文件 A 之前处理文件 B (0 <= A, B <= N - 1)。这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。后续 M 行,每行两个正整数 S 和 T,表示 T 文件依赖于 S 文件。输出共一行,如果能处理成功,则输出文件顺序,用空格隔开。(2)将结点从图中删除;

2025-03-19 19:26:47 159

原创 【刷题实录之图论】卡码网:47. 参加科学大会(dijkstra算法)

小明是一位科学家,他需要参加一场重要的国际科学大会,以展示自己的最新研究成果。然而,途中的各个车站之间的道路状况、交通拥堵程度以及可能的自然因素(如天气变化)等不同,这些因素都会影响每条路径的通行时间。这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。接下来为 M 行,每行包括三个整数,S、E 和 V,代表了从 S 车站可以单向直达 E 车站,并且需要花费 V 单位的时间。输出一个整数,代表小明从起点到终点所花费的最小时间。

2025-03-19 18:17:47 194

原创 【刷题实录之图论】卡码网:97. 小明逛公园(Floyd算法)

小明喜欢去公园散步,公园内布置了许多的景点,相互之间通过小路连接,小明希望在观看景点的同时,能够节省体力,走最短的路径。这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。接下来的 M 行,每行包含三个整数 u, v, w,表示景点 u 和景点 v 之间有一条长度为 w 的双向道路。接下来的 Q 行,每行包含两个整数 start, end,表示一个观景计划的起点和终点。接下里的一行包含一个整数 Q,表示观景计划的数量。

2025-03-19 13:59:12 416

原创 【刷题实录之图论】卡码网:126. 骑士的攻击(A*算法)

现给定骑士的起始坐标和目标坐标,要求根据骑士的移动规则,计算从起点到达目标点所需的最短步数。棋盘大小 1000 x 1000(棋盘的 x 和 y 坐标均在 [1, 1000] 区间内,包含边界)骑士移动规则如图,红色是起始位置,黄色是骑士可以走的地方。这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。接下来的 n 行,每行包含四个整数 a1, a2, b1, b2,分别表示骑士的起始位置 (a1, a2) 和目标位置 (b1, b2)。

2025-03-19 01:19:20 342

原创 【刷题实录之图论】卡码网:126. 骑士的攻击(广度优先遍历)

现给定骑士的起始坐标和目标坐标,要求根据骑士的移动规则,计算从起点到达目标点所需的最短步数。棋盘大小 1000 x 1000(棋盘的 x 和 y 坐标均在 [1, 1000] 区间内,包含边界)骑士移动规则如图,红色是起始位置,黄色是骑士可以走的地方。这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。接下来的 n 行,每行包含四个整数 a1, a2, b1, b2,分别表示骑士的起始位置 (a1, a2) 和目标位置 (b1, b2)。

2025-03-18 20:26:47 205

原创 【刷题实录之二叉树】106.从中序与后序遍历序列构造二叉树(二叉树遍历)

本题考查中序遍历与后序遍历,构建rebuild函数,确定root、left、right的含义(见代码注释),需要确定index(即中序遍历中根结点的位置)以新建当前结点,确定index后即可继续构建当前结点的左右子树,终止条件为left > right。这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。希望能给大家的学习带来一点帮助,共同进步!中序遍历 inorder = [9,3,15,20,7]:根据一棵树的中序遍历与后序遍历构造二叉树。

2025-03-15 19:58:12 352

原创 【刷题实录之队列】347. 前 K 个高频元素(优先队列)

本题考察的其实是堆,可以采用优先队列实现堆排序,要先定义一个map以存储每个元素以及其出现次数,然后用pair存储元素以及出现次数,push进优先队列中,这里要采用自定义函数,比较对象是pair.second,也就是元素出现次数,采用重写仿函数的方式自定义排序函数,然后输出前k个元素即可。你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。题目数据保证答案唯一,换句话说,数组中前 k 个高频元素的集合是唯一的。输入: nums = [1,1,1,2,2,3], k = 2。

2025-03-15 19:23:03 309

原创 【刷题实录之双指针法】回文子串长度(双指针)

本题采用双指针法,逐位判断是否可构成回文串,若可构成,函数返回回文串长度,由于回文串长度可能为奇数或者偶数,即中心点可能为1或2,根据情况不同初始化res即可。这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。在一行上输入一个长度为 1≦length(s)≦2500 ,仅由大小写字母和数字构成的字符串 s ,代表截获的密码。在这个样例中,没有无关字符,所以最长的有效密码串就是"ABBA" 本身,长度为4。

2025-03-13 21:24:16 197

原创 【刷题实录之图论】图论代码模板

通过如下循环,完成所有k对应的 ans[k][i][j]值的求解,同时我们注意到,在通过 ans[k-1][i][j]的各值来递推求得 ans[k][i][j]的值时,所有的 ans[k][i][j]值将由 ans[k -1][i][j]和 ans[k-1][i][k] + ans[k -1][k][j]的大小关系确定,但同时 ans[k][i][k]和 ans[k][k][j]必定与 ans[k-1][i][k]和 ans[k 1][k][j]的值相同,即这些值不会因为本次更新而发生改变。

2025-03-09 20:24:19 767

原创 【复旦大学历年机试题】2023-02(贪心)

这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。希望能给大家的学习带来一点帮助,共同进步!:给一个序列a1到an,和一个d。an数组排序后,后一个数减去前一个数的最大值不小于d,请问最多能从an中选出多少满足条件的数字。:先对数组进行排序,然后利用找出差值不小于d的数列。

2025-03-06 17:02:52 169

原创 【复旦大学历年机试题】2023-01(二叉树)

:给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。注意二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree 也可以看做它自身的一棵子树。:不知道具体怎么给输入的,这里我按照完全二叉树的方式给两个输入,第一行是root树,第二行是subroot树,-1表示空结点。为了方便,将两棵树的数组设为全局变量。设置两个函数,一个PreOrder用于遍历roo

2025-03-06 16:58:25 484

原创 【复旦大学历年机试题】2022-02(动态规划)

word2[j - 1])则进行增、删、换,dp[i][j] = min({dp[i - 1][j - 1], dp[i - 1][j], dp[i][j - 1]}) + 1;(3)dp数组如何初始化:dp[i][0] :以下标i-1为结尾的字符串word1,和空字符串word2,最近编辑距离为dp[i][0],那么dp[i][0]就应该是i,对word1里的元素全部做删除操作,即:dp[i][0] = i;同理dp[0][j] = j;(5)举例推导dp数组。

2025-03-06 16:24:52 314

原创 【复旦大学历年机试题】2021-03(动态规划)

本题是动态规划目标和问题,假设加法的总和为x,那么减法对应的总和就是sum - x。所以我们要求的是 x - (sum - x) = target,即x = (target + sum) / 2,此时问题就转化为,用nums装满容量为x的背包,有几种方法。(1)确定dp数组及其下标含义:dp[j],表示:填满j(包括j)这么大容积的包,有dp[j]种方法;(4)遍历顺序:遍历物品放在外循环,遍历背包在内循环,且内循环倒序(为了保证物品只使用一次);(3)确定初始化方式:dp[0] = 1;

2025-03-06 16:20:16 296

原创 【复旦大学历年机试题】2021-02(动态规划)

这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。:假设你正在爬楼梯。每次你可以爬 1 或 2 个台阶。(1)确定dp数组及其下标的含义:dp[i]的含义是到达第i个台阶的方法总数;(2)确定递推公式:dp[i] = dp[i-1] + dp[i-2];(3)dp数组的初始化:dp[1] = 1,dp[2] = 2;(4)确定遍历顺序:i从小到大遍历即可;解释:有两种方法可以爬到楼顶。解释:有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶。

2025-03-06 15:29:51 237

原创 【复旦大学历年机试题】2021-01(二叉树)

给定一颗二叉树,树的每个节点的值为一个正整数。如果从根节点到节点 N 的路径上不存在比节点 N 的值大的节点,那么节点 N 被认为是树上的关键节点。求树上所有的关键节点的个数。请写出程序,并解释解题思路。这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。希望能给大家的学习带来一点帮助,共同进步!:本题需要先建树,将录入的数据保存到数组中,依照顺序二叉树的方式读取结点,从根结点开始递归判断是否是关键结点。输出:4(图中蓝色节点是关键节点)

2025-03-06 15:22:04 103

原创 【复旦大学历年机试题】2020-05(二叉树)

给定⼀个 1~n 的排列 P,即⻓度为 n,且 1~n 中所有数字都恰好出现⼀次的序列。现在按顺序将排列中的元素⼀⼀插⼊到初始为空的⼆叉搜索树中(左小右大),问最后每个节点的⽗亲节点的元素是什么。这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。⼀⾏ n 个整数,其中第 i 个整数 ai 表⽰元素 i 对应节点的⽗亲节点的元素。1 的⽗亲为 2,2 为根结点,所以⽗亲为 0,3 的⽗亲为 2,4 的⽗亲为 5,5 的⽗亲为 3。

2025-03-04 23:49:02 290

原创 【复旦大学历年机试题】2020-03(贪心)

⽐如,对于给定值 2,[1 4 7] 是⼀个满⾜条件的选择⽅案,但是[1 4 5] 却不是,因为 5 - 4 = 1 < 2。在本样例中,[1 4 7],[1 4 8],[1 5 7],[1 5 8],[2 4 7],[2 4 8] 都是满⾜要求的选择⽅案,但是⽆论如何都没有办法得到⼀个选出 4 个数且满⾜条件的⽅案,所以本样例的答案为 3。, an 和⼀个 d,你需要选出若⼲个整数,使得将这些整数从⼩到⼤排好序之后,任意两个相邻的数之差都不⼩于给定的d,问最多能选多少个数出来。仅⼀⾏⼀个整数,表⽰答案。

2025-03-04 22:58:45 473

原创 【复旦大学历年机试题】2020-02(水题)

如果能从五个整数中选出三个并且这三个整数的和为10 的倍数(包括 0),那么这五个整数的权值即为剩下两个没被选出来的整数的和对 10 取余的结果,显然如果有多个三元组满⾜和是 10 的倍数,剩下两个数之和对 10 取余的结果都是相同的;在第五组中,三元组 0 3 7 和三元组 0 4 6 的和都是10,是10 的倍数,但是根据简单的数论可知,如果存在多个三元组满⾜情况,那么剩余数字的结果之和对10 取余是相等的,在本例中和为10,对10取余为 0。剩余的1 1之和为2,对10取余为2。

2025-03-04 19:21:15 416

原创 【复旦大学历年机试题】2020-01(水题)

下课了,有 n 位同学陆续赶到⻝堂进⾏排队打饭,其中第 i 位同学的到达时间为 ai,打饭耗时为 ti,等待时间上限为 bi,即如果其在第 ai+bi秒的时刻仍然没有轮到他开始打饭,那么他将离开打饭队列,另寻吃饭的地⽅。这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。接下来 n ⾏,每⾏三个整数 a[i],t[i],b[i] (1<=a[i],t[i],b[i]<=10^9, 1<=i<=n)保证 a[1]<a[2]<…

2025-03-04 19:06:00 248

原创 【复旦大学历年机试题】2019-03(动态规划或卡特兰数)

这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。希望能给大家的学习带来一点帮助,共同进步!(3)确定递推公式:i个结点组成的二叉树形态总数可分解为j个和i-j-1个二叉树的形态数之积的总和,故dp[i] = Σdp[j] * dp。(2)确定dp数组初始化方式:这里我们规定dp[0] = 1,dp[1] = 1,dp[2] = 2;(1)确定dp数组及其下标含义:dp[i]表示由i个结点构成的二叉树形态总数;:求N个结点能够组成的二叉树的个数。

2025-03-04 01:04:25 191

原创 【复旦大学历年机试题】2019-02(贪心)

An,求i,j(1<=i<=j<=n),使得Ai+…+Aj最大,输出这个最大和。第一行输入一个整数n,表示数列大小第二行输入n个整数。这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。希望能给大家的学习带来一点帮助,共同进步!局部最优:当前“连续和”为负数的时候立刻放弃,从下一个元素重新计算“连续和”,因为负数加上下一个元素 “连续和”只会越来越小。局部最优的情况下,并记录最大的“连续和”,可以推出全局最优。全局最优:选取最大“连续和”

2025-03-03 23:31:21 298

原创 【复旦大学历年机试题】2019-01(日期处理)

这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。希望能给大家的学习带来一点帮助,共同进步!:输入日期格式:YYYYMMDD,求与20190205相隔天数。:简单的日期处理题目,注意闰年与平年的不同处理方式。

2025-03-03 22:37:41 161

原创 【复旦大学历年机试题】2018-03(动态规划)

(2)确定递推公式:dp[i] = dp[i-1] + dp[i-2],因为dp[i]可以由两个方向推导出来,一个是dp[i-1]再铺一块2×1地板,一个是一个是dp[i-1]再铺两块1×2地板,故二者相加即可;:用 1 × 2 和 2 × 1 的骨牌铺满大小为 2 × n 的地板,请问共有多少种不同铺法,结果对 999983 取余。(1)确定dp数组(dp table)以及下标的含义:dp[i]表示2 * i的地板有多少种铺法;(3)dp数组如何初始化:dp[1] = 1,dp[2] = 2;

2025-03-03 21:51:20 173

原创 【复旦大学历年机试题】2018-02(水题)

创建两个数组分别存储两个集合,数组元素全部初始化为-2,遍历两个集合使得出现过的元素对应的数组值为1,然后遍历第一个数组,对应为1的元素则在第二个数组中-1,第二个数组中为0的元素则为交集;遍历第一个数组,为1的元素则在第二个数组中也设为1,最终第二个数组中为1的元素则为交集;这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。:输入两个集合,分别求其交集和并集中元素的个数,每个集合中可能存在相同的元素,而最终的交集和并集中应该不存在。

2025-03-03 21:24:31 274

原创 【复旦大学历年机试题】2018-01(排序)

这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。希望能给大家的学习带来一点帮助,共同进步!:众数就是一个序列中出现次数最多的数字。如果不唯一,则输出小的那个值。:录入元素保存进数组,然后进行排序,对相同元素进行计数,找到众数。输出数列中的众数,如果不唯一,则输出小的那个值。第一行输入一个整数n,表示有n个数。

2025-03-03 20:40:03 140

原创 【复旦大学历年机试题】2017-02(字符串)

给定一个9位数字的ISBN,求其校验位。ISBN格式为2-02-033598,校验位的计算方法如下:从左到右依次将各位数字乘10,9,8,……,2,求出其和S,作模运算得M=S mod 11。若11-M在1和9之间,校验位即为该数字若11-M等于10,校验位为X;输出添加校验位的ISBN,如2-02-033598-0。这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。为2-02-033598 (注:计算得和S为0)输出添加校验位的ISBN。

2025-03-03 20:05:11 268

原创 【复旦大学历年机试题】2017-01(排序)

这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。希望能给大家的学习带来一点帮助,共同进步!:进行排序即可,水题的伟大无需多言!:给定一个整数序列,求中位数。

2025-03-03 19:28:27 101

原创 【复旦大学历年机试题】2016-03(哈夫曼树)

(2)遍历给定的字符串,用数组记录各字母出现频次,然后建立结点记录这些字母及出现频次,而后初始化两个vector保存它们(一个临时保存,一个用于最后的计算总和);(3)sort排序,每次挑选最小的两个结点生成一个新结点,构建哈夫曼树,加入数组,遍历size-1次(这是由于哈夫曼树的新结点是叶结点总数-1个);(1)创建结点node结构体,其内容要包括:①val:代表频次和;(4)每个叶结点(保存在一个vector中)的层数-1(编码长度) 乘以 频次,求和即可得字符串的哈夫曼编码长度。

2025-03-03 19:26:22 440

原创 【复旦大学历年机试题】2016-02(栈)

这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。希望能给大家的学习带来一点帮助,共同进步!:给定一个后缀序列,要求求值,只有加减。

2025-03-03 16:41:38 121

原创 【复旦大学历年机试题】2016-01(动态规划)

这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。希望能给大家的学习带来一点帮助,共同进步!输入:fdfdfd42543 232fdfdfdjlkj。:给定两个字符串,求最大公共子串的长度。:本题是动态规划的基础问题。

2025-03-03 16:06:58 301

原创 【复旦大学历年机试题】2015-03(优先队列)

这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。:本题目的是实现一个优先队列,本质是对存储结构体的set进行自定义排序,需要重载运算符,还要对set的基本操作比较熟悉,剩下没什么难点了。NEXT:输出下一个最高优先级的任务的id,如果优先级相同输出id小的任务,若队列中没有任务输出-1。ADD N P:往队列里加入id为N的优先级为P的任务。REMOVE N:移除id为N的任务。COUNT:输出队列中的任务数量。

2025-03-03 14:31:26 526

原创 【复旦大学历年机试题】2015-02(水题)

这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。希望能给大家的学习带来一点帮助,共同进步!:给出a,b,c(3个整数),判断a,b能否通过 ±*/得c,ab可以交换位置,可以输出 YES,不可以则输出 NO。每组数据占一行,包含三个整数 a,b,c。输入包含多组测试数据。每组数据输出一行结果。

2025-03-02 01:07:50 214

原创 【复旦大学历年机试题】2015-01(递归)

这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。希望能给大家的学习带来一点帮助,共同进步!:本题考查数学知识,采用递归,在边长不为0时撕去正方形,否则返回,cnt记录正方形个数。:给出长方形的长和宽,每次从长方形里撕去最大的正方形,输出最后能得到多少正方形?一个整数,表示最后能得到多少正方形。一行,两个整数 n,m。

2025-03-01 23:45:34 109

原创 【复旦大学历年机试题】2014-04(动态规划与递归)

n-1阶又可以由n-2阶推导出,以此类推,最后可推到1阶汉诺塔,然后从1阶的最少移动次数为1出发,算出2阶的最少移动次数为 1+1+1,3阶的最少移动次数为 3+1+3,以此类推。开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒,第一根上面套着64 个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从这根棒搬到另一根棒上,规定可利用中间的一根棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面。(3)最后将中间柱子上的n-1个圆盘移到右边的柱子上;

2025-03-01 23:32:30 157

原创 【复旦大学历年机试题】2014-03(二叉树遍历)

输入一棵二叉树,输出树的前、中、后序遍历结果。输入一个整数N(N<= 10000),表示树中有N个结点(编号0到N-1)。接下来N行,依次为结点0到结点N-1的左右孩子情况。每行3个整数,F,L,R。L,R为F的左右孩子。L,R如果为-1表示该位置上没有孩子。分三行分别输出树的前中后序遍历。同一行中的数字,用一个空格间隔。这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。希望能给大家的学习带来一点帮助,共同进步!:采用二叉树前、中、后序遍历。

2025-03-01 23:18:14 151

原创 【复旦大学历年机试真题】2014-02(动态规划)

word2[j - 1])则进行增、删、换,dp[i][j] = min({dp[i - 1][j - 1], dp[i - 1][j], dp[i][j - 1]}) + 1;(3)dp数组如何初始化:dp[i][0] :以下标i-1为结尾的字符串word1,和空字符串word2,最近编辑距离为dp[i][0],那么dp[i][0]就应该是i,对word1里的元素全部做删除操作,即:dp[i][0] = i;同理dp[0][j] = j;(5)举例推导dp数组。

2025-03-01 22:15:18 315

原创 【复旦大学历年机试题】2014-01(二分查找)

这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。希望能给大家的学习带来一点帮助,共同进步!:计算二分查找的次数,约定二分的中点mid = (left + right) / 2。第三行输入一个待查找的整数(必定在第二行中出现过)。:本题采用二分查找,每进行一次二分cnt++即可。第一行输入一个整数N(N<=10000)。输出二分查找该整数时,进行过多少次二分。第二行输入N个升序整数。

2025-03-01 21:23:34 147

原创 【复旦大学历年机试题】2013-03(广度优先遍历)

先来看看题目的大致意思:有这样的一个蛇形数组,输入两个数据,为起点和终点。问起点到终点的步数,且当矩阵里的点为素数的时候不可通。(3)创建广度优先搜索函数,设置一个visit二维数组,辅助访问结点,注意visit数组全部初始化为-1,意为未访问,如果访问了的话,就赋值为从初始位置到它的步数;这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。(3)构建一个函数canGet判断当前结点是否可到达,如果不超出界限且不是素数且尚未访问过,则可以到达;

2025-03-01 20:28:48 588

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除