自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 习题2.4 递增的整数序列链表的插入

L是给定的带头结点的单链表,其结点存储的数据是递增有序的;本题要求实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性。所以为了方便, 我们可以直接看这个结点的下一个结点对应的Data值即p->Next->Data。这里插入的时候 房子指向的下一个结点消失,我们就先将p->Next 赋值给q->Next。在移动一次后p是指向1的结点,而p->Next 是指向下一个结点,就是2 的结点。链表插入的时候,我们找到的比它大的,我们插入的时候是需要前面一个的结点的。

2024-05-01 20:11:33 416

原创 习题1.9 有序数组的插入(思路讲解+代码)

思路这题根据题目来就是,先给出一个有序的降序数组,然后在给出一个数字,插入在里面有几个要求1、这个数字在数组里面有的 不插入2、加入和会超出最大限制的不要3、插入后要求一样保持是一个递减的数组这个时候就思路就清晰了我们只需要做到,在1和2 的时候返回false然后就是满足的时候插入这个是一个递减的序列,我们需要从第一个开始,找到小于它的那么这个时候必定是插在这个数的前面我们的方法就是将这个数字及其以后的全面后移一位后然后把这个位置给放入当前插入的数

2024-05-01 19:22:05 304

原创 通过先序和中序求后序(通过后序和中序求先序)

然后下一步就是在左子树后序中的位置,然后在在左子树里面在根节点,在找里面的左子树和右子树。然后在中序中查找相同的元素,在这个元素左边的为左子树,右边的右子树。如图,先给了一个后序和中序,后序的最后一个为根节点。这个时候第一步用二叉树的慢慢来画就是如下的样子。1、利用后序和中序的特点来求出二叉树。一、通过先序和中序求后序。二、通过后序和中序求后序。

2024-05-01 19:02:38 137

原创 习题1.8 二分查找

假如有一个递增的数列如下图为 4 5 6 8 13 17在里面找到 5用二分查找就是中间mid = (i(头) + j(尾)) / 2 这里的/2 是对2 取整这里是(1 + 6) / 2 等于 3, i = 1, j = 6, mid = 3然后第3位的 6 > 5 说明是在6 之前,所有6不要了,要6 前面的这个时候 i 还是等于1, j = 吗mid - 1; 原因是第3位都不满足所有向前移动一位在计算出mid = (i + j) / 2 等于 1第一位

2024-05-01 18:40:36 416

原创 P1443 马的遍历

有一个 𝑛×𝑚n×m 的棋盘,在某个点 (𝑥,𝑦)(x,y) 上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。首先马所在的位置是不需要走的,所有为0;而从零开始走,能到地方肯定为0 + 1;而从0 + 1 地方走的 肯定是 在它的基础上在加一, 即 0 + 1 + 1;很容易发现,这个是先看第一步 ,第一步完了才是第二步…………这个是深度优先搜索(bfs)

2024-04-29 16:44:28 279

原创 P1002 [NOIP2002 普及组] 过河卒(c++ dp)

​首先这题卒只有向下和向右两个方向走,遇到马能到的位置,不能走我们会发现如下图,当我们到达(1,1)这个点的时候可以是(0,0)右走在下 也可以是(0,0)下走向右在通过(2,1)一样会发现路线条数为(到达上面个点的条数加上到达左边个点的条数)因此状态转移方程为graph[i][j] = max(graph[i][j],graph[i - 1][j] +graph[i][j - 1[]);这是我一开始的代码#include#include

2024-04-29 14:24:08 530

原创 L2-051 满树的遍历(C++思路简单,递归的办法)

​先序遍历我们口语用递归的方式去找首先是根节点找到它从左到了的结点,如果结点下面没有结点,就按顺序到旁边的结点输出如果有结点我们找到这些规律就是,需要通过父节点,把字结点存在一起,然后排个序,结点下面有节点的,继续往下面找,没有结点了,返回根节点下面的下一个结点,直接用一个递归就可以解决​

2024-04-25 22:15:31 358 1

原创 L2-050 懂蛇语(c++语言超简单用自带库函数)

这题的思路就是,帮刚开始存入的字符串提取出每一个单词的第一个字母然后在组成一个字符串,用来当作mapsnake中的string中的map键值而本身的字符串就存入string类型的vector容器中,作为map的值然后把后面有一样的以开头组成的字符串 也存入string类型的vector容器中这个时候里面就有2个及其以上的字符串然后在查询的时候,相同操作,提取单词第一个字符组成的字符串在map键值里面找,如果没有就输出这个查找的字符串

2024-04-25 00:19:28 714 1

原创 L2-049 鱼与熊掌(C++简单易懂)

思路:先将物品清单存起来然后在输入查找哪里,一边输入一边查找统计个数因为 每一行物品清单的物品不同,我又想着难得去记录所以直接记录一个最大得件数这样在遍历得时候,每一个都可以被遍历完,虽然有的超出了,但是不影响答案这题很简单,不用想得太复杂,简单化,加油!!!

2024-04-24 19:36:58 303

原创 二叉树的先序、后序、中序、层序遍历(递归的方法)

就是先根节点的左子树,然后根节点 然后是右子树。我的理解就是 先根节点,然后在左子树,右子树。就是先左子树,然后右子树,最后根节点。

2024-04-23 20:19:11 95

原创 PTA 天梯赛 L2-006 树的遍历(c++代码简单易懂,有详解)

1、层序遍历先用一个队列来存结点 输出元素然后看这个结点有没有左右结点都有的话先存左节点,因为队列先进先出首先后序的根节点是在后面的,这个时候我们在中序里面找到与之匹配的元素 这个位置为index在index的左边便是左子树,在它的右边便是右子树然后后序遍历的规则是左孩子 右孩子 根节点我们可以通过index减去中序遍历的第一个的位置,得到当前这个根节点一共多少个左子树元素后面的就是右子树的元素个数

2024-04-23 17:23:24 614

原创 PTA L1-101 别再来这么多猫娘了!(c++ 超时的错误的来,超简单)

分析:首先,题目会给出几个违禁词,需要存起来然后给出一个字符串,你去想违禁词给替换掉(值得注意的是,有一点可能就是,违禁词也可以是被替换的那个单词 )意思是,一开始找到违禁词过后,先不要急着换,先替换成一个其他的,最后统一换还有查找的查找到一个违禁词过后,还需往后面继续查找有没有这个违禁词,直到没有 才开始查下一个违禁词 就可以用到find(查找的东西,位置);总结:1、需要存违禁词2、一开始不要直接替换,先替换为其他特殊字符,最后统一换3、查到一个违禁词后,要继续看看,后面还有没有

2024-04-21 22:31:33 189 1

原创 PTA L1-059 敲笨钟(字符串,简单容易理解 C++)

​我们需要在输入的字符串中判断逗号前面有没有ong 和 点前面有没有ong换种方式理解就是看看里面有没有 子字符串",ong" 和 ".ong"if (s.find(c1) != -1 && s.find(c2) != -1)有的话,就开始把最后3个单词换掉没有就输出"Skipped"判断我们从后面开始数,遇到3个空格就停下来,标记这个位置,然后把这个空格前面的全部输出,包括自己这个空格,最后在后面输出"qiao ben zhong."if (s.find(c1) != -1

2024-04-17 13:48:25 402 1

原创 集美大学2024年团体程序设计天梯赛模拟赛( H 创造花田的魔法) 思路清晰简单明了,有代码有思路

第一点题目分析完后我们得到:地图是n * m 的有湖泊L(当且只有它的周围8个方向都是湖泊L的时候种荷花S)山脉M (不种任何东西)青草块G 1.周围没有房屋H,有湖泊L,种水仙N 2.周围没有房屋H,没有湖泊L,种苍月草N房屋H (不种任何东西,且周围不能种花)第二点那么我们可以定义四个变量 L,M,G,H 来统计当前这个点周围有哪些这个点自己是湖泊,且周围湖泊L== 8 的话,种荷花S这个点是青草块 1、周围房屋H == 0 且有

2024-04-12 11:05:14 481

原创 基础实验7-2.3 德才论分数 25(简单易理解c ++ 数据结构)

宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。现给出一批考生的德才分数,请根据司马光的理论给出录取排名。

2024-03-29 10:01:25 307 1

原创 L2-026 小字辈 PTA (简单好理解 一看就懂 思路清晰)

这个题理解以后我的想法是先放入一个数组里面存上他们的辈分 然后用一个数组记录这个人有没有被调查过辈分。所以就是用dt数组记录当前这个人的辈分。找到辈分最大的,然后一个数组存下来。t数组来确定这个人是已知辈分的。然后用一个函数来递归。

2024-03-27 00:20:35 219

原创 L2-048 寻宝图 PTA

用我们自己的想法思路来就是,直到这个岛屿的周围全是0的时候,这个就是一个单独的岛屿。我们遇到一个不为0的点,去找上下左右,如果上下左右中有一个点不为0。那就在找这个点的上下左右 以此类推,你会发现,这有一个递归。其中dx和dy不懂得可以看一下注释,还不懂的可以评论一下。而宝藏的话,只要这个岛屿上面有一个就是有。而终止点就是该点位0 或者到了边界。这一题的思路是用深度遍历。因此dfs就可以这样写。其他的就是按照思路来写。

2024-03-23 11:06:53 447 1

原创 L1-043 阅览室 PTA

思路就是,先定义一个二维数组books[N][2];book[][0]代表是否借出去,books[][1]代表上一次的时间;sumtime代码有借有还的书的总时间。就是用一本书输入S的时候将时间存进去,输入E的时候用当前时间减去之前的时间,然后把这一天的有借有还的书的时间全部加起来 然后求平均时间。注意的是,可能会出现一本书没有S,就是没有借出去,需要判断(可以用二维数组)重要的是 一本书换的时候,需要把书归位。关于这道题的思路很简单。

2024-03-23 10:24:54 309 1

原创 PTA L2-043 龙龙送外卖(c ++)

L2-043 龙龙送外卖分数 25作者 DAI, Longao单位 杭州百腾教育科技有限公司龙龙是“饱了呀”外卖软件的注册骑手,负责送帕特小区的外卖。帕特小区的构造非常特别,都是双向道路且没有构成环 —— 你可以简单地认为小区的路构成了一棵树,根结点是外卖站,树上的结点就是要送餐的地址。每到中午 12 点,帕特小区就进入了点餐高峰。一开始,只有一两个地方点外卖,龙龙简单就送好了;但随着大数据的分析,龙龙被派了更多的单子,也就送得越来越累……

2024-03-16 10:40:56 470 1

原创 背包问题——01背包和完全背包

01背包指的是物品只能放一次,放进背包里面使其价值最高完全背包是物品没有限制。

2024-03-03 20:13:04 117

原创 PTA L2-037 包装机 (C++ 队列栈)

当某条轨道的按钮被按下时,活塞向左推动,将轨道尽头的一件物品推落筐中。图 2 显示了顺序按下按钮 3、2、3、0、1、2、0 后包装机的状态。一种特殊情况是,因为筐的容量是有限的,当筐已经满了,但仍然有某条轨道的按钮被按下时,系统应强制启动 0 号键,先从筐里抓出一件物品,再将对应轨道的物品推落。输入第一行给出 3 个正整数 N(≤100)、M(≤1000)和 Smax​(≤100),分别为轨道的条数(于是轨道从 1 到 N 编号)、每条轨道初始放置的物品数量、以及筐的最大容量。图1 自动包装机的结构。

2024-03-02 12:06:29 562

原创 C++ 函数 substr(),erase(),find(),insert()用法

例子。

2024-03-02 11:34:54 143

原创 L1-094 剪切粘贴 PTA C++解法

的不包含空格的非空字符串,前两个数字表示需要剪切的位置,后两个字符串表示插入位置前和后的字符串,用一个空格隔开。如果有多个可插入的位置,选择最靠近当前操作字符串开头的一个。输入第一行是一个长度小于等于 200 的字符串 S,表示原始字符串。2、找到s1+s2的位置pos,找到了直接在pos+s1.length()的位置插入,否则久在最后加入。每次操作后的字符串即为新的当前字符串。第二行是一个正整数 N (1≤N≤100),表示要进行的操作次数。输出一行,表示操作后的字符串。剪切的位置保证总是合法的。

2024-03-02 10:40:36 1036 1

原创 归并排序(C++实现简洁易懂)

1、代码呈现(我们就直接上代码,后面有图解,可以先看,我们就以最简单粗暴的方式来说明)归并排序 简单就是先递归然后在合并在一起 直接上样例和图解。递归作用就是将它分成单个,然后合并。合并的时候,就是两个数组之间合并,依次排放在一起。就是将剩下的放进数组里面。

2024-02-21 16:17:57 209 1

原创 快速排序(C++实现简洁易懂)

第一种取左边的为第一个为基数x,指针i由左向右,指针j由右向左。当 i < j 的时候停止,然后将。首先先了解一下什么是快速排列。用自己的理解就行,随机取一个。

2024-02-19 20:49:04 240

原创 vector中front(),back()的应用

【代码】vector中front(),back()的应用。

2024-02-19 19:00:56 717

空空如也

空空如也

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

TA关注的人

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