自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法基础精选题3.13 模拟

模拟 算法,非常精彩

2024-03-13 23:49:58 1326 5

原创 数据结构哈希表

这里个大家用数组来模拟哈希表。

2024-02-12 23:51:32 2015 10

原创 2/10 BFS初探

用 state 数组表示数字是否用过。当 state[i] 为 1 时:i 已经被用过,state[i] 为 0 时,i 没有被用过。dfs(i) 表示的含义是:在 path[i] 处填写数字,然后递归的在下一个位置填写数字。回溯:第 i 个位置填写某个数字的所有情况都遍历后, 第 i 个位置填写下一个数字。其实在我看来解决全排列问题,核心还是顺序,想清楚结束条件,然后输出,以n=3为例。用 path 数组保存排列,当排列的长度为 n 时,是一种方案,输出。

2024-02-10 23:26:46 481 3

原创 2-8 单链表+双链表+模拟栈+模拟队列

今天给大家用数组来实现链表+栈和队列。

2024-02-08 23:27:46 769 51

原创 2/7 算法每日N题(二分+双指针)

我绝得这个题最关键的步骤就是,nums[mid]与target是否取等,在求开始位置的时候,不用取等,原因是else成立条件为>=那么right所指向的未必是最右边的那个元素,因为可能有重复元素,对于求最后位置时,else条件为>的目的是,使得right所指向的目标元素为最后的位置。这一道题相对其他题比较抽象,具体体现在其最后一个位置不好找,因为在编译的时候,计算mid时系统会自动向下取整,因此在处理左端点时可以向下取整得到,处理又端点时需要向上取整,同时要注意数据的溢出,这里是如何处理的。

2024-02-07 23:51:32 697 10

原创 C++类和对象(上)

计出需要什么东西,但是并没有实体的建筑存在,同样类也只是一个设计,实例化出的对象。缺陷:每个对象中成员变量是不同的,但是调用同一份函数,如果按照此种方式存储,当一。如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整。对于计算机使用者而言,不用关心内部核心部件,比如主板上线路是如何布局的,类就像谜语一样,对谜底来进行描述,谜底就是谜语的一个实例。,将一件事情拆分成不同的对象,靠对象之间的交互完。两个成员函数,函数体中没有关于不同对象的区分,那当。

2024-02-07 13:24:09 883 1

原创 数据结构之顺序表

要做到在指定下标位置插入数据,首先我们需要得到一个下标位置,然后从该下标位置开始(包括该位置),其后的数据从后往前依次向后挪动一位,最后将数据插入到该下标位置。同样的道理,头删和尾删实际上也就是删除下标为0的位置和下标为ps->size - 1的位置的数据,也就意味着我们可以统一使用该函数来实现头删和尾删。查找数据也相对简单,直接遍历一次顺序表即可,若找到了目标数据,则停止遍历,并返回该数据的下标,否则返回-1。要删除指定下标位置的数据,我们只需要从下标位置开始,其后的数据从前向后依次覆盖即可。

2023-12-17 20:36:47 10050 178

原创 动态内存管理

原有空间之后没有足够多的空间时,扩展的方法是:在堆空间上另找一个合适大小的连续空间来使用。但是对于空间的需求,不仅仅是上述的情况。有时会我们发现过去申请的空间太小了,有时候我们又会觉得申请的空间过大了,那为了合理的时。的时候,原有空间之后没有足够多的空间时,扩展的方法是:在堆空间上另找一个合适大小。的时候,要扩展内存就直接原有内存之后直接追加空间,原来空间的数据不发生变化。realloc函数此刻的返回值不是原来的地址,而是新的空间的起始地址。realloc函数会将旧的空间的数据,拷贝到新的空间里。

2023-12-16 21:07:51 794 58

原创 C语言结构体小项目之通讯录代码实现+代码分析

通讯录中的字字句句,记录了岁月的轨迹。接下来由我带你探索结构体的奥秘

2023-12-15 20:07:55 1820 94

原创 期末数组函数加强练习

选择有名刷题网站的经典题目,适合大家巩固数组和函数知识,欢迎大家阅读。

2023-12-14 19:14:22 1728 85

原创 滑动窗口如人生,回顾往事不复还———力扣刷题

来自一个力扣大佬的形象解释:左右指针中间窗口的sum为两指针的“共同财产”,就是右指针一直在努力工作挣钱,好不容易共同财产大过target,记录一下两指针之间的距离,结果左指针就开始得瑟挥霍,不停花钱(往右移动),结果花钱一直花到sum又小过target,此时右指针不得不再次出来工作,不停向右移动,周而复始,最后取左右指针离得最近的时候。即先固定一个,然后遍历所有,创建个哈希表用来记录出现的次数,如果大于一则说明出现重复,那么就跳出当前循环,进入下一个固定的数进行遍历,否则就记录此刻长度。

2023-12-13 19:18:53 743 39

原创 犹豫不决先排序,步步紧逼双指针---力扣刷题

非常经典的双指针题目,对于算法入门有很大的作用,感兴趣进来瞧瞧。

2023-12-12 17:47:27 761 108

原创 力扣编程题算法初阶之双指针算法+代码分析

第二种就是双指针,观察发现,面积的高是由左右两边的低边界为准。就以上图为例,高是由右边那条高决定,左边高往右移动由于w一定减小,h要么减小要么不变,那么面积一定减小,所以我们就从两个边界开始来移动,记录每一次的面积,返回最大即可。而另外一种变成一,其实也可以看作是一个循环圈,即给定一个数,按照快乐数的定义,我给出两个指针,一个移动地快一个移动地慢,最终两个数一定会相等,倘若等于1,那么就是快乐数,倘若不等于1就不是快乐数。注意,每次移动的是那个h小的,因为大h移动,s要么减少要么不变,而我们求的是最大的。

2023-12-11 19:18:07 1458 64

原创 字符串详解+代码分析

/ 默认初始化,s1是一个空字符串// s2是s1的副本,注意s2只是与s1的值相同,并不指向同一段地址// s3是该字符串字面值的副本// s4的内容是 "cccccccccc"return 0;

2023-12-10 16:49:17 855 28

原创 C++STL详解+代码分析+典例讲解

C++STL详细介绍及使用,包括典型编程题及代码分析

2023-12-09 23:58:02 619 36

原创 C语言期末考试复习PTA数据类型及表达式-分支结构程序-循环结构-数组经典选择题

C语言期末考试经典的选择判断题+代码分析。有些题目非常精彩,有很多的细节,帮你查缺补漏,拿下期末。

2023-12-08 20:24:57 2345 119

原创 算法初阶双指针+C语言期末考试之编程题加强训练

期末考试基础编程题复习+编程题复习

2023-12-07 13:40:05 1504 51

原创 PTA结构体经典编程题

整体思路很简单,定义结构体变量,然后输入每本书的书名和价格,但是,要注意在输入书的价格的时候,cin不读取最后的\n,这里必须要把\n给处理掉,这里在c++可以用cin.ignore,如果在c可以用getchar,如果不处理,那么\n一直在缓冲区,那么下一次\n就会被geiline给读取,影响结果。思路:看到一个学生的基本信息,所以定义一个结构体变量,然后呢,不知道人数的多少,这里用vector设立一个动态数组,接着遍历所有的学生,输入信息。思路:按步就班,先定义后输入然后输出,注意格式即可,

2023-12-03 10:20:02 1208 74

原创 沈阳师范大学期末考试复习pta循环数组函数指针经典编程题汇总+代码分析

分析:为什么上这道题,不是因为难而是因为,有一年考到过斐波拉契函数,所以记下来就好,没什么好说的第二题:求n以内最大k个素数以及他们的和 思路:首先要输出不超过n的最大的k个素数,我们就先从n-1开始遍历,然后看输出的格式,肯定要定义一个数组arr来存放这些数字,但数目又是有限的,所以每得到一个素数,k就要减一,当k为0的时候跳出循环,这样思路打开了,然后最后输出的时候注意一下格式,最后一个数字不用输出+,就OK了。 思路:按步就班,这里我用c++实现,大家用c语言也是一个原理,大家可以定一个

2023-11-29 21:56:59 4043 144

原创 自定义类型:结构体,枚举,联合

int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//初始化:定义变量的同时赋初值。struct Stu //类型声明//名字int age;//年龄//初始化int data;//结构体嵌套初始化//结构体嵌套初始化位段的声明和结构是类似的,有两个不同:1.位段的成员必须是 int、unsigned int 或signed int。2.位段的成员名后边有一个冒号和一个数字。如struct Aint _a:2;

2023-11-28 21:19:46 882 60

原创 简易版扫雷+代码分析

实验一个简易版的扫雷,也要两百来行的代码,因此为了代码整洁,维护起来方便,这里我们和前期实现的三子棋一样,也弄一个游戏的头文件game.h用来装各种头文件以及函数的声明以及宏定义、预处理信息,弄两个源文件,test.c用来作为主体代码,game.c用来实现具体函数。

2023-11-28 14:09:49 829 48

原创 数据结构之时间复杂度与空间复杂度

我们就以开头所提及的递归得到斐波拉契数列的代码为例子,如果我们传递了一个参数n,即我们要求f(n)的值,那么应该运行多少次?,如f(n)=f(n-1)+f(n-2),而f(n-1)=f(n-2)+f(n-3) ,f(n-2)=f(n-3)+f(n-4)...,Factorial(2),Factorial(1),开辟了N个空间,所以空间复杂度为O(N)。该函数内部执行了一个for循环共100次,Func2函数内语句的执行次数不会随着传入的变量N的改变而改变,即执行的次数为常数次。所以对空间复杂度很是在乎。

2023-11-26 15:55:35 707 46

原创 指针的进阶

重中之重:目录1.字符指针: 2.指针数组3.数组指针4.数组参数、指针参数5.函数指针 一般实现:二班实现:问:这是把一个字符串放入pstr指针变量了吗?,并不是,其实只是把字符串hello world ,的首字符的地址放入pstr中。即:接下来看一道面试题:最终输出:原因就是:3.数组指针3.1 定义数组指针是指针,指针数组的本质是数组,很多人分不清指针数组和数组指针区别,这里大家其实可以根据符号的优先顺序来判断。举个例子:解释:3.2 &数组名VS数组名我们在前

2023-11-26 15:07:16 556 36

原创 三子棋游戏代码+分析思路

其中里面有一个棋盘,并且有分隔符,那么开始你就得定义个二维数组,先初始化,放空格,然后打印出来看一下,注意右边界是没有竖杠分割,最后一层也是没有分割的,用个if判断即可。接着就是下棋,这里我们通过键盘输入,横坐标和纵坐标,因为我们所认为的(1,1)就是第一行第一个,而数组是从0开始的,因此,需要将我们从键盘中输入的再减去1。基于以上工程量大,我们这里分成三个文件进行,这样看起来逻辑清晰,一个头文件"game.h",一个"game.c",一个"test.c"。最后就是test.c用来写游戏的主体代码。

2023-11-24 21:49:08 422 52

原创 经典中的经典之字符串

c++初阶语法之字符串刷题,题目非常经典,适合学c语言和c++的同学参考,有很多精彩的部分

2023-11-22 20:50:52 783 62

原创 训练好题分享

不是因为不会写没有思路,主要还是在写前面的题目的时候影响了心态,变得浮躁,平时的做题习惯综合导致我不能静下心来分析,其实很多题目看似复杂,但如果能静下心来分析,其实还是有迹可循的。首先要输出不超过n的最大的k个素数,我们就先从n-1开始遍历,然后看输出的格式,肯定要定义一个数组arr来存放这些数字,但数目又是有限的,所以每得到一个素数,k就要减一,当k为0的时候跳出循环,这样思路打开了,然后最后输出的时候注意一下格式,最后一个数字不用输出+,就OK了。

2023-11-12 09:32:10 287 54

原创 C语言之初阶指针

概念:野指针就是指针指向的位置是不可知的(随机的,不正确的,没有明确限制的)指针变量在定义时,如果未初始化,其值是随机的,指针变量的值是别的变量的地址,意味着指针指向了一个地址是不确定的变量,此时去解引用就是去访问了一个不确定的地址,所以结果是不可能的。另外要明白当用sizeof(数组名)的时候,计算的是整个数组的大小,当&数组名的时候,取出的是数组的地址,数组首元素的地址是一致的。//存放字符指针的数组。其中核心的本质就是:*pp通过对pp中的地址进行解引用,这样找到的是p,pp其实访问的是p。

2023-11-12 08:39:55 709 32

原创 C语言结构体

重命名 在关键词的前面加个typedef 在花括号的后面加你自定义的名字;

2023-11-12 08:39:34 167 18

原创 经典c语言编程题

思路:这个题和我上一篇的那个哥德巴赫猜想思路极为相似,只不过说这里问的是多少对不同的素数和,所以在这里你定义变量n,然后遍历n的时候还是有讲究,比如说如果是10,分解为素数有3和7,然后5和5.但是如果你遍历到n-1的话,他会把7和3,也算作一对记进去。所以你定义完数组后,就要开始排序,然后循环判断,注意Aj是变化的。思路:这题看似抽象,其实明白题意就好做了,你要求今天是星期几,你可以先求出从公元第一天到昨天一共有多少天,然后再加上今天,一共得到的天数再来%7,得到的余数就是今天的星期。

2023-11-08 11:55:42 459 39

原创 入门好题分享

首先题目最终要输出中奖的张数,就是说你特等奖-六等奖的个数,先定义一个数组p[7]全部为0,计数器cnt来计数你中奖号码的个数,每一张彩票记完后用p[7-cnt]++,表示你中奖级别,思路从这里打开,然后自然你初始化一个数组arr[34]放全部的号码,然后输入正确的号码,将1付给正确号码的数组,然后你输入你的号码的时候只要与1来比较是否匹配即可。思路:这个题其实就是素数的那道题的变式,关键是分解成最小的素数,所以你从2开始遍历,找到最小的就用n-最小的,得到另外一个数,如果这个数也是素数则符合条件跳出,

2023-11-05 21:28:08 349 33

原创 编程入门优质题目分享

说直白一点,就是比方说12与16,公约数有2,4,那么4就是最大公约数,所以最大公约数一定比两个数中较小的那个数要小,所以这道题,你可以先找出两个数中较小的值min,然后用一个循环自减min,直到能够让两个数都整除。分析:解法1:我的思路非常清晰,要求和,我先定义一个sum来装每一项(注意有精度要求),然后每一项定义为item。核心的的思路就是要输出比n大的最小的回文数,我们可以这样,把n自增的数传入判断为回文数的函数里去,如果是就跳出循环记录此时的值,然后输出。

2023-11-04 21:46:15 244 24

空空如也

空空如也

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

TA关注的人

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