- 博客(18)
- 收藏
- 关注
原创 贪心算法周总结
贪心类问题的解决没有固定的模板,我们能做的就是把自己代入具体的情境中,找到对最有利的结果,同时需要找到题目中的题眼,往往是突破问题的关键。
2023-12-10 18:49:01
996
原创 双指针算法周总结
总结一下,看完这五道题目,我们能发现能用双指针去解决的题目都有几点共性要让两个“指针”出现并起作用,首先得有一大片数据,通常这些数据的载体是数组,总之需要我们找到载体其次是要在这些数据中找到一个条件达成,如果没有规定左右区间的长度,又会出现与左右两端的数据进行比较取出极限值的情况像接雨水这道题,题目中包含的条件非常隐晦,以至于很难想到用双指针去做,但经过分析找到它也存在这种边界上的比较,即短边限制储水量,在见到足够多的题后如果能顿悟到这一点,就会很自然的将双指针的思想运用到题目中了。
2023-12-03 18:14:41
1009
1
原创 数据结构之哈希(散列)表
int data;int size;//表的大小//二级指针,可以放元素的数组,该数组内部为一条条链表}//寻找存储的位置,return的判断为散列函数这里称每一个数组就是一个bucket(桶),各个桶的链表结点就是桶内的一个个元素。
2023-11-26 19:07:22
1048
1
原创 静态链表介绍
可以看到当放入数据的时候,存数据的那个结点的游标变为了0,和代码中的注释是一个意思,数据链表的结点到0表示结束,而备用链表头结点中的游标则需要继续指向下一个备用处,它的结点也随之变化。当然看着写的挺复杂,别忘了,静态链表实质是一个结构体数组,一个结构体是一个结点,表最多有数组内结构体数量个结点,而每个结点内包含了放数据的和找数据的两部分。还有很重要的一点,诚如上面谈到的,静态链表需要提前规定最大存储量,但与顺序表又有所不同,它的内部去按需分配的,没有存放数据的位置处于“沉睡”状态,拿着。
2023-11-19 17:07:40
56
1
原创 双端共享栈
/数组的角标,此处也可以单独定义两个栈顶指针进行移动}*DpStack;//主要是用于访问上面的数组//运用了数组角标的特性//-1和M是两个越界数值,永远不会被正常访问到top[0]即一号栈的栈顶指针,top[1]即二号栈的栈顶指针顺带提一句在进行链式的定义时,需要先给出一个链表结点的定义,再去定义一个栈,栈内的元素就是两个链表结点,初始化时将这两个结点赋为NULL。
2023-11-12 18:09:06
34
原创 c语言实现栈基本操作
链表实现用指针去连接各个结点数组实现让数组去存储栈中的各个值,相当于定义了一个Capacity长度的数组Array,通过topofStack来访问数组中的元素。
2023-11-03 19:54:49
51
原创 2023年ggg二面题解
先确定大体思路:将需要测试的进制全部从小到大遍历一遍,如果过程中找到第一个使条件成立的就退出循环,如果遍历完了仍然没能退出循环,就说明不存在符合的进制输出。所以在第一步的时候应该做一些特殊处理,在存入整型数组的时候先判断两数大小,字符串的一堆函数就注定了这个判断是要在存入之前进行,当然,不能忘了输出负号,同时交换两个字符串的内容,以确保最终输出是大减小可以借位的情况下进行,不然会出现。该步实现具体的竖式运算,当被减数的本位小于减数时借位即可,借位也要有位可借才行,所以通常以大减小,
2023-11-02 20:26:27
47
原创 2023年ggg一面题解
下面的算式中,不同的汉字表示不同的数字,相同的汉字表示相同的数字,问这个算式中每个 汉字各代表什么数字?(使用 C 语言向学长学姐解释解题思路及代码,请提前准备好代码,如果不会也没关系可以向 学长学姐讲述一下自己的想法)先将a压入栈中,再压入b,将栈顶元素b的值赋给a,最后弹出b将栈顶元素a的值赋值给b。逻辑关系的爱恨情仇。解释这段代码的作用,以及代码逻辑和相关用法,以及这些函数的特性与作用。本质上是一个二级指针,是一个指向五个一级指针的二级指针,而。爱 = () 数 = ()学 = ()啊 = ()
2023-11-01 23:41:44
63
原创 c语言文件操作
文件路径 eg. ”“注:‘+’ 和 ‘b’为叠加方式写入 eg. , 文件的读写字符与字符串的读写字符 从文件读与将文件写入字符串 从文件读与将文件写入格式化读写打印到文件中从文件中读二进制文件的读写从文件读到变量中将变量写到文件中通过内存的传递可将图片内存扰乱达到模糊图片的效果检测是否读至文件末尾检测文件移动的字节数定位移动文件经常与2一起使用求文件字节数还原至开始用于对同一个文件连续读
2023-10-28 20:24:52
59
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人