c++
文章平均质量分 53
凤凰院克里斯
这个作者很懒,什么都没留下…
展开
-
LeetCode 45. 跳跃游戏 II
给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处:i + j < n返回到达 nums[n - 1] 的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]。示例 1:输入: nums = [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。原创 2023-02-06 23:35:01 · 456 阅读 · 0 评论 -
dhu 码蹄集 oj赛(第三十二周)
dhu 码蹄集 oj赛(第三十二周)吃蛋糕 传送门原创 2023-01-14 22:18:08 · 974 阅读 · 0 评论 -
dhu 2.3 循环链表ADT模板简单应用算法设计:约瑟夫环
问题描述 :目的:使用C++模板设计循环链表的抽象数据类型(ADT)。并在此基础上,使用循环链表ADT的基本操作,设计并实现单链表的简单算法设计。内容:(1)请使用模板设计循环链表的抽象数据类型。(由于该环境目前仅支持单文件的编译,故将所有内容都集中在一个源文件内。在实际的设计中,推荐将抽象类及对应的派生类分别放在单独的头文件中。参考网盘中的单链表ADT原型文件,自行设计循环链表的ADT。)(2)ADT的简单应用:使用该ADT设计并实现循环链表应用场合的一些简单算法设计。...原创 2022-08-02 19:26:02 · 221 阅读 · 0 评论 -
dhu 2.3 阿姆斯特朗数
问题描述 :内容:在指定范围[m,n]的所有整数中,试设计一算法找出所有的Armstrong数。Armstrong数:如果一个k位正整数等于其各位数字的k次方之和,则称该数为阿姆斯特朗数。例如,在三位(k=3)的整数中,153可以满足13 + 53 + 33 = 153,这样的数称之为Armstrong数。...原创 2022-08-02 19:20:56 · 313 阅读 · 0 评论 -
dhu 顺序表ADT模板设计及简单应用:找匹配
目的使用自行设计的顺序表ADT或STL的vector模板设计并实现顺序表应用场合的一些简单算法设计。应用8假设有一个整数类型的顺序表(假定为非空表),元素取值可能是1~N(10原创 2022-07-27 01:56:12 · 199 阅读 · 0 评论 -
dhu 单链表ADT模板应用算法设计:长整数加法运算(不使用单链表存储计算结果)
目的使用C++模板设计单链表的抽象数据类型(ADT)。并在此基础上,使用单链表ADT的基本操作,设计并实现单链表的应用算法设计。内容(1)请使用模板设计单链表的抽象数据类型。(由于该环境目前仅支持单文件的编译,故将所有内容都集中在一个源文件内。在实际的设计中,推荐将抽象类及对应的派生类分别放在单独的头文件中。参考网盘中的ADT原型文件。)(2)ADT的应用使用该ADT设计并实现单链表应用场合的算法设计。应用。...原创 2022-07-27 01:46:15 · 320 阅读 · 0 评论 -
dhu 有序链表ADT模板简单应用算法设计:一元多项式的加/减法运算
问题描述目的使用C++模板设计单链表的抽象数据类型(ADT)。并在此基础上,稍加改动,针对一元多项式建立相应的稀疏多项式ADT,使用单链表ADT的基本操作,设计并实现稀疏一元多项式的加法计算的算法设计。内容(1)请参照单链表的ADT模板,设计稀疏一元多项式的抽象数据类型。(由于该环境目前仅支持单文件的编译,故将所有内容都集中在一个源文件内。在实际的设计中,推荐将抽象类及对应的派生类分别放在单独的头文件中。参考网盘中的单链表ADT原型文件,自行设计稀疏一元多项式的ADT。)(2)ADT的简单应用。...原创 2022-07-27 01:37:23 · 286 阅读 · 0 评论 -
dhu 图 邻接表ADT实现
目的使用C++模板设计并逐步完善图的邻接矩阵抽象数据类型(ADT)。内容(1)请参照图的邻接矩阵模板类原型,设计并逐步完善图的邻接矩阵ADT。(由于该环境目前仅支持单文件的编译,故将所有内容都集中在一个源文件内。在实际的设计中,推荐将抽象类及对应的派生类分别放在单独的头文件中。)(2)使用构造函数,构造一个具有结点和边的有权图。注意DG(有向图),DN(有向网),UDG(无向图),UDN(无向网)......原创 2022-07-24 01:16:42 · 135 阅读 · 0 评论 -
dhu 图 邻接矩阵ADT实现
问题描述 :目的:使用C++模板设计并逐步完善图的邻接矩阵抽象数据类型(ADT)。内容:请参照图的邻接矩阵模板类原型,设计并逐步完善图的邻接矩阵ADT。(由于该环境目前仅支持单文件的编译,故将所有内容都集中在一个源文件内。在实际的设计中,推荐将抽象类及对应的派生类分别放在单独的头文件中。)把adt全写完了再做后面的题注意他给的模板要传的参数有一个指向指针的指针构造起来很麻烦。。下面main函数给了构造例子你们可以参考一下..................原创 2022-07-13 14:57:47 · 239 阅读 · 0 评论 -
dhu 15 数据流的第 K 大数值
问题描述 :设计一个找到数据流中第 k 大元素的类(class)。注意是排序后的第 k 大元素,不是第 k 个不同的元素。请实现 KthLargest 类:示例:输入:3 44 5 8 2add 3add 5add 10add 9add 4输出:45588解释:KthLargest kthLargest = new KthLargest(3, [4, 5, 8, 2]);kthLargest.add(3); // return 4kthLargest.add(5); // return 5kthL原创 2022-07-11 02:45:41 · 116 阅读 · 0 评论 -
dhu 15 设计电影租借系统
问题描述 :你有一个电影租借公司和 n 个电影商店。你想要实现一个电影租借系统,它支持查询、预订和返还电影的操作。同时系统还能生成一份当前被借出电影的报告。所有电影用二维整数数组 entries 表示,其中 entries[i] = [shopi, moviei, pricei] 表示商店 shopi 有一份电影 moviei 的拷贝,租借价格为 pricei 。每个商店有 至多一份 编号为 moviei 的电影拷贝。系统需要支持以下操作:请你实现 MovieRentingSystem 类:示例 1:输原创 2022-07-10 21:12:08 · 310 阅读 · 0 评论 -
dhu 6 获取AOE网的关键路径
6 获取AOE网的关键路径作者: 冯向阳时间限制: 1S章节: 课程设计问题描述 :建立一个有向网AOE网,设计并完成一算法Get_CriticalPath(),获取关键路径。该路径仅输出,不须保存。提示:在AOE网中,(1)关键活动:开始时间余量为0的活动。即活动的最早开始时间等于它的最迟开始时间。(2)根据各个顶点的Ve和Vl值,在求得每条弧s的最早开始时间e[s]和最迟开始时间l[s]后,若某条弧满足条件e[s]=l[s],该弧所对应的活动即为关键活动。(3)关键路径:由关键活动所形成的从源点到汇点的原创 2022-07-07 15:48:42 · 621 阅读 · 0 评论 -
dhu 5.2 二叉树:建立存储结构(层次次序)
二叉树:建立存储结构(层次次序)时间限制: 1S类别: DS:树->中等晚于: 2022-05-22 23:55:00后提交分数乘系数50%截止日期: 2022-05-29 23:55:00问题描述 :目的:使用C++模板设计并逐步完善二叉树的抽象数据类型(ADT)。内容:(1)请参照链表的ADT模板,设计二叉树并逐步完善的抽象数据类型。(由于该环境目前仅支持单文件的编译,故将所有内容都集中在一个源文件内。在实际的设计中,推荐将抽象类及对应的派生类分别放在单独的头文件中。参考教材、课件,以原创 2022-05-16 17:04:11 · 1113 阅读 · 1 评论 -
c++数据结构--树与二叉树详解
树的定义树(tree)是n(n>=0)个结点的有限集,它或为空树(n=0);或为非空树,对于非空树T:(1)有且仅有一个称之为根的结点;(2)除根以外的其余结点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm,其中每一个集合本身又是一棵树,并且称为根的子树。树的结构定义是一个递归的定义,即在树的定义中又用到树的定义,它道出了树的固有特性。下面介绍一些树形结构中的基本术语。树的基本术语**结点:**树中的一个独立单元,包含一个数据元素及若干指向其子树的分支,如上图中的R、原创 2022-05-03 19:33:42 · 1537 阅读 · 0 评论 -
dhu 4.1 队列模板简单应用算法设计:士兵队列训练
队列模板简单应用算法设计:士兵队列训练时间限制: 1S类别: DS:队列->队列定义及应用晚于: 2022-05-04 23:55:00后提交分数乘系数50%截止日期: 2022-05-08 23:55:00问题描述 :目的:使用C++模板设计队列(链队列和顺序队列)的抽象数据类型(ADT)。并在此基础上,使用队列ADT的基本操作,设计并实现简单应用的算法设计。内容:(1)请参照栈的ADT模板,设计队列的抽象数据类型。(由于该环境目前仅支持单文件的编译,故将所有内容都集中在一个源文件内。在原创 2022-05-02 16:32:15 · 454 阅读 · 0 评论 -
dhu 1.3 数字链表
数字链表时间限制: 1S类别: DS:数组与链表->链表–较难问题描述 :先输入一个数,此数字为“停止数字”。之后输入一系列数字,遇到“停止数字”时结束输入。要求使用链表实现,并从小到大排序输出。须使用链表实现,如果不用链表实现,即使程序提交成功,也只能得部分分数输入说明 :输入是一个开头与结尾相同的数字序列(即最先输入一个停止数字,最后遇到停止数字结束输入)。输出说明 :输出排过序的数字序列,当然,“停止数字”不包含在内。输入范例 :-113212473514原创 2022-05-02 16:29:40 · 313 阅读 · 0 评论 -
dhu 1.3 找出临界点之间的最小和最大距离
找出临界点之间的最小和最大距离时间限制: 1S类别: DS:数组与链表->链表–较难问题描述 :链表中的 临界点 定义为一个 局部极大值点 或 局部极小值点 。如果当前节点的值 严格大于 前一个节点和后一个节点,那么这个节点就是一个 局部极大值点 。如果当前节点的值 严格小于 前一个节点和后一个节点,那么这个节点就是一个 局部极小值点 。注意:节点只有在同时存在前一个节点和后一个节点的情况下,才能成为一个 局部极大值点 / 极小值点 。给你一个链表 head ,返回一个长度为 2 的原创 2022-05-02 16:28:45 · 198 阅读 · 0 评论 -
dhu 1.3 约瑟夫环
约瑟夫环时间限制: 1S类别: DS:数组与链表->链表–较难问题描述 :用单链表解决约瑟夫问题。约瑟夫问题为:n个人围成一圈,从第一个人开始报数1, 2, …, m,数到m的人出圈,然后从出圈的下一个人(m+1)开始重复此过程,直到全部人出圈,于是得到一个出圈序列,如当n=8,m=4时,则得到的出圈序列为4, 8, 5, 2, 1, 3, 7, 6。输入说明 :你写的程序要求从标准输入设备中读入测试数据作为你所写程序的输入数据。测试数据仅一行,包括两个整数n和m,n表示人数,m表示淘汰数,原创 2022-05-02 16:27:45 · 462 阅读 · 0 评论 -
dhu 1.3 反转链表 II
反转链表 II时间限制: 1S类别: DS:数组与链表->链表–较难问题描述 :给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。示例 1:输入:head = [1,2,3,4,5], left = 2, right = 4输出:[1,4,3,2,5]示例 2:输入:head = [5], left = 1, right = 1输出:[5]提原创 2022-05-02 16:26:13 · 646 阅读 · 0 评论 -
dhu 3.1 顺序栈ADT模板简单应用算法设计:括弧匹配检验
顺序栈ADT模板简单应用算法设计:括弧匹配检验时间限制: 1S类别: DS:栈->栈定义及应用晚于: 2022-04-17 23:55:00后提交分数乘系数50%截止日期: 2022-04-21 23:55:00问题描述 :目的:使用C++模板设计顺序栈的抽象数据类型(ADT)。并在此基础上,使用顺序栈ADT的基本操作,设计并实现简单应用的算法设计。内容:(1)请参照顺序表的ADT模板,设计顺序栈的抽象数据类型。(由于该环境目前仅支持单文件的编译,故将所有内容都集中在一个源文件内。在实际的原创 2022-05-02 16:24:39 · 249 阅读 · 0 评论 -
dhu 3.1 顺序栈ADT模板简单应用算法设计:迷宫问题
顺序栈ADT模板简单应用算法设计:迷宫问题时间限制: 1S类别: DS:栈->栈定义及应用晚于: 2022-04-17 23:55:00后提交分数乘系数50%截止日期: 2022-04-21 23:55:00问题描述 :目的:使用C++模板设计顺序栈的抽象数据类型(ADT)。并在此基础上,使用顺序栈ADT的基本操作,设计并实现简单应用的算法设计。内容:(1)请参照顺序表的ADT模板,设计顺序栈的抽象数据类型。(由于该环境目前仅支持单文件的编译,故将所有内容都集中在一个源文件内。在实际的设计原创 2022-05-02 16:23:09 · 472 阅读 · 0 评论 -
dhu1.2 查找序列元素(链表)
查找序列元素(链表)时间限制: 1S类别: DS:数组与链表->链表–简单晚于: 2022-03-17 23:55:00后提交分数乘系数50%截止日期: 2022-03-20 23:55:00问题描述 :使用带头结点的单链表编程:一群学生排成一行,输入一个学号,请确定该学号学生所在的位置。输入说明 :第一行输入学生信息:第一个整数n(0<=n<=100),表示共有n个学生,其后有n个整数,表示n个学生的学号第二行及以后各行,每行输入一个整数,表示要查找的学生学号。输出原创 2022-05-02 16:18:49 · 160 阅读 · 0 评论 -
dhu 1.2 移除序列指定位置元素(链表)
移除序列指定位置元素(链表)时间限制: 1S类别: DS:数组与链表->链表–简单晚于: 2022-03-17 23:55:00后提交分数乘系数50%截止日期: 2022-03-20 23:55:00问题描述 :使用带头结点的单链表编程:一群学生排成一行,输入一个位置,将该位置的学生移除。第一个学生的位置为1,第n个学生的位置为n。输入说明 :第一行输入学生信息:第一个整数n(0<=n<=100),表示共有n个学生,其后有n个整数,表示n个学生的学号第二行及以后各行,原创 2022-05-02 16:14:29 · 229 阅读 · 0 评论 -
dhu 1.2 链表的中间结点
1.3 链表的中间结点时间限制: 1S类别: DS:数组与链表->链表–简单晚于: 2022-03-17 23:55:00后提交分数乘系数50%截止日期: 2022-03-20 23:55:00问题描述 :给定一个无头结点的非空单链表,头指针为 head,请返回链表的中间结点的值。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:3示例 2:输入:[1,2,3,4,5,6]输出: 4由于该列表有两个中间结点,值分别为 3 和 4,我们返回第原创 2022-05-02 16:12:59 · 501 阅读 · 0 评论 -
c++循环队列与链队列基本操作的实现
队列定义队列,一种特殊的线性表,乍一看总觉得和栈有那么千丝万缕的联系。事实上,队列的确与栈非常类似,但它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。循环队列–队列的顺序表示与实现就是与顺序表对应的队列类型,使用一组连续的存储单元依次存放队列从头到尾的元素,同时使用两个整型变量:front(头指针)与rear(尾指针)分别指示队首元素和队尾元素。循环队列存储结构表示typ原创 2022-04-23 00:21:51 · 3258 阅读 · 0 评论 -
c++链栈基本操作实现
链栈定义链栈即使用链式存储结构实现的栈,通常链栈用单链表来表示。链栈的结点结构与单链表的结构相同,在此使用StackNode表示,代码如下://链栈结点定义#define MAXSIZE 100#define Status inttypedef int SElemType;typedef struct StackNode{ SElemType data; struct StackNode* next;}StackNode,*LinkStack;链栈的初始化Status InitS.原创 2022-04-17 15:21:55 · 1823 阅读 · 0 评论 -
c++顺序栈基本操作实现
顺序栈定义顺序栈是利用数组存储的栈,只能在栈顶进行出栈入栈,需要定义栈顶(top)、栈底(base)、栈长(stacksize)注意:表示空栈为 top==base;表示栈满为 top-base==stacksize;top指针指向栈顶元素上方顺序栈的定义// ---顺序栈的存储结构---#define MAXSIZE 100typedef int SElemType;typedef struct{ SElemType* base; //栈底 SElemType* t原创 2022-04-16 23:49:02 · 3486 阅读 · 3 评论 -
c++贪心算法简单介绍
c++算法知识点总结 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加第一章 贪心算法前言提示:这里可以添加本文要记录的大概内容:之所以决定开始写这个系列呢,是因为学校作业要求挑选c++中的一个算法制作ppt并进行课堂展示。在找资料的过程中突然想到:反正都是写,为啥不顺便在博客上也写一个系列呢?于是(^ - ^)第一章介绍c++中的贪心算法,主要是因为刚学c++的那个学期就做过贪心的题目了所以对它还比较熟悉…提示:以下是本篇文章正文内容,下面案例可供参考一、贪心算法是什么原创 2022-04-11 22:37:32 · 4499 阅读 · 0 评论