自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基础算法--图论

图论中最重要的就是看懂图,在将基本算法前,先介绍用链表存储图这里采用的是用数组来模拟链表,因为如果用结构体动态生成的话,很容易出错,而且用new耗时也大在这里,用v来存储链表的内容 ,nx相当与存储下一个链表指针,h存储头,idx用来增加结点,就好比下面的图这是链表增加元素的过程 ,黑色表示原来的,红色表示现在的得到的是一个单向图,如果要改为无向,则只需要再加一个代码add(y,x)就可以了还有一种构造图的方式是用二维数组构造邻接表(好像叫这个,不对求大佬指正)

2024-05-31 15:15:40 889

原创 表达式求值(来源acwing基础算法)

3302. 表达式求值给定一个表达式,其中运算符仅包含+,-,*,/(加 减 乘 整除),可能包含括号,请你求出表达式的最终值。

2024-05-16 11:20:11 276

原创 四种高精度运算

由于数据的范围限制,较大的数没法用一般的+-*/来运算,这时候就要用高精度乘除加减法,每次这个我都写的很乱,花好久来调试,所以把模板列在了下面,具体实现过程可以画图来理解,代码旁边有注释。

2024-05-12 09:57:03 270

原创 质数的几种算法

为了更方便看到结果,这里采取小数据来算,不对的求大佬指正。

2024-03-25 20:56:58 363 2

原创 c语言的几种排序方式(1)

简单写了冒泡,选择,插入,归并,快速排序的思路和代码

2024-01-26 23:16:31 496 1

原创 校门外的树--牛客网(第一次用结构体来解题)

题目描述某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。

2024-01-18 22:53:18 959 1

原创 c语言---滑动窗口

优点,省时间,缺点,我没学过i<k;i++){

2024-01-12 14:40:51 718 1

原创 查找一个数组中不同大小的数有多少个

以上都采用最简单的例子,深入理解还需自己尝试,目前我知道的只有这两种方法,欢迎补充。希望大家能给我点个关注和赞支持一下。

2024-01-04 22:41:07 587 1

原创 一周中的几天(求某个日期的星期)——力扣

给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天。daymonth和year,分别表示日、月、年。您返回的结果必须是这几个值中的一个。

2023-12-31 00:15:55 482

原创 模拟除法求整除光棍(pta)

7-4 整除光棍分数 15全屏浏览题目切换布局作者 翁恺单位 浙江大学这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。

2023-12-28 00:05:24 578 1

原创 PTA 小明的计算题

小明酷爱数学,因为数学实在是太有趣了,因此他天天做数学题,但是聪明的小明也是会遇到困难的。有一天他的山老师题出了一个问题:一个集合存在n个数,请问集合中有多少个数,恰好等于集合中另外两个数之和?小明想不到方法,只能一个一个计算,但是着实在太麻烦了,他知道你已经做出来这道题,所以向你发出了求救请求,用代码帮助小明解决此问题。

2023-12-26 21:09:30 588 2

原创 斐波那契数的几种算法

这个算法,首先要学会求第n项斐波那契数。for循环判断,有没有数值为x斐波那契数。当,只有大于x,没有数为x时,结束循环,不存在为x的斐波那契数。斐波那契数,是指,前两位分别为0和1,接下来的每一位都为前两位和的数。有两种方法,分别为递归法,和迭代法,接下来我们逐一介绍。我们可以借助这张图来理解,我们假设求得是第5个斐波那契数。重复进行fib函数,知道x的值为1或2。即循环更新数,for循环表示,累加的次数。1.递归法,即利用递归函数来求解。一,求出第n项斐波那契数。二,判断是否为斐波那契数。

2023-12-04 00:19:07 398

原创 去除数组中重复元素

内部循环是用来向前移动的,外部循环确定了需要删除的位置,所以内部循环的开始应该从i开始,逐步向前移动,n--表示,每次删去一个,数据总元素减一,i--表示,后面i在第一个循环下会+1,这里是为了保证i回到原来位置。冒泡法将相同的数据放在了一块,我们要删的数据肯定相差一,用arr[i]==arr[i+1],来寻找重复的数据。我觉得对于我来说,比较难理解的在于前移不分,冒泡法之前的博客有讲到,在这就不说了,大家可以自行去阅读。1.思路,先将初始化为零,再将输入数的数放入对应下标上,输出不为零的数。

2023-11-28 00:27:59 528 1

原创 一组数据(字符)的后移问题

(arr[i]+15)%5表示的是,数组中的数实际移动的位置,就是说,他每次移动5位就回到原来的位置,我们取的余数,就是在原来位置的基础上,他不够完成一次循环,实际的移动。看懂了吗,这个挺好理解的,可以试试画示意图。然后后面加上arr[i],当然就是他原来的位置啦。例如,给出1 2 3 4 5,这一组数,我们需要从2开始向后移动十五位,再输出这组数,该如何解决呢?逻辑很简单,由于,5后面没有数了,需要返回1的位置,所以困难的点在于移动数这一项。不理解的,继续看我解释。就不写代码了,这个比较简单。

2023-11-22 01:15:30 37

原创 矩阵的乘法(做题心得)

我们可以知道,判断矩阵能否相乘,要看他的行和列,若第一个列,等于第二个行,则可以相乘,结果的行和列分别为第一个矩阵的行与第二个矩阵的列。我们可以知道,矩阵相乘,第一个数为前一个矩阵的第一行数据,分别乘以后一个矩阵的第一列相加得到的结果,我们这里用sum来接收结果。第一个for,决定了目标矩阵的行,第二个决定了目标矩阵的列,第三个是用来相乘的。由此我们可以知道,二者下标最大都为相等的行列的数,然后根据规律可以自行推出,增量k的位置,在这我就不做解释了。我写的代码大概长这样,大家可以自行理解试试。

2023-11-22 00:56:07 136

原创 关于选择排列的学习心得

第一个for循环,我们可以这样理解,进行完一次循环后,第一个数的位置是正确的,不用在排列,所以限制条件为,数组大小-1。第二个for循环用来比较大小和交换位置,上面提到没完成一次外部for循环,就确定了一个数的位置,所以我们不在需要比较前面已经确定的数,所以设置变量为外部变量分值(是这样讲吧,哈哈哈),限制条件为数组大小减一,就相当于进行到最后一个,循环内部的内容比较简单就自行理解啦。例如 21345,比较1与2的大小,将1<2所以调换二者位置,变为12345。当然这组数据因为是举例子,所以比较简单。

2023-11-09 15:22:57 50 1

原创 关于冒泡排序的理解

思路大概是,讲一组数中前两个数比较,将较大的排列在前面(交换两数大小通常会引入第三个变量),依次进行,然后再重新开始,比较数。例如:1 2 4 5 3,1>2,不用交换,然后依次比较,最后变为12435,跳出最内部循环,外部循环次数加一,进入内部循环,依次推下去,最后的结果是12345。运用了两个for循环,第一个循环表面冒泡排序要进行的次数,排列一次后,最后一个数肯定是最小的,所以第一个for循环限定条件是,数组中数的总数-1。冒泡排序可将一组数按照从大到小,或者从小到大排列。说的可能有点不太清楚<(。

2023-11-08 19:30:18 43 1

原创 结构体的创建struct(学习心得)

1.创建结构体函数时候,与创建其他函数不同,后面要加;2.赋到变量里的时候,要用{},而不是小括号。3.打印出来时采用变量名+.+要打印的名称。图中int a不管事,多打了,可以忽略掉。

2023-11-08 13:27:12 38 1

空空如也

空空如也

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

TA关注的人

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