暂时未有相关云产品技术能力~
暂无个人介绍
KMP算法细节详解(带动图理解)(2)
1.什么是作用域? 作用域就是一个变量名在程序中的有效范围,出了他所在的作用域变量名就会失效。
前言 C语言中的scanf函数相信大家都知道,但是有些时候难免会出现一些疑问,经过我一下午的时间梳理和总结,于是有了这篇博客,如有不到位还请补充,如果对各位有帮助的话请点赞支持。
前言 static是c语言中比较常用的关键字,具体有三种用法 一、修饰局部变量 二、修饰全局变量 三、修饰函数 下面进行具体讲解
在c语言中有三种程序结构。 1 . 顺序结构 2 . 分支结构 3 . 循环结构 本文章讲的是分支结构
概念 二分法查找,是一种在有序数组中快速目标数字的一种算法,也可以叫做折半查找。 要掌握二分法查找,首先我们要明白二分法查找是怎么运作的,为什么要用二分法查找。
首先介绍一下这款游戏 猜数字:电脑随机生成一个数字num,玩家来猜,如果猜的数比系统生成的num大,则提示“猜大了”,如果猜的数比系统生成的那个数字小,则提示“猜小了”,直到猜到生成的那个数字位置,提示“恭喜你!猜对了!”。
最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c),多个整数的最大公约数也有同样的记号。求最大公约数有多种方法,常见的有质因数分解法、短除法、辗转相除法、更相减损法。与最大公约数相对应的概念是最小公倍数,a,b的最小公倍数记为[a,b]。 为大家带来找最大公约数的两种办法,1.暴力求解法,2.辗转相除法,3,更相减损法
前言 这里注意一下! 提示:注意小心使用,免得别人正在写什么重要文件😅,没保存,关机导致丢失,谨慎使用❗️
一、递归实现求第n个斐波那契数 #include <stdio.h> int fib(int n) { if(n<=2) { return 1; } else { return fib(n-1)+fib(n-2); } } int main() { int n = 0; scanf("%d",&n); pirntf("%d",bib(n)); } //方法二、循环法 int fib2(int n) { int a = 1; int b = 1; int c = 1; while (n > 2) {
题目:集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。 给定一个数组 nums 代表了集合 S 发生错误后的结果。 请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。 题目直接给我们定义好了函数。int* findErrorNums(int* nums, int numsSize, int* returnSize), 来源:力扣(LeetCode)
✨✨ 题目:验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。 例如: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 输入一个正整数m(m≤100),将m的立方写成m个连续奇数之和的形式输出。 注意:本题含有多组输入数据。 数据范围:1≤m≤100 链接: 题目链接
前言:什么是汇编 汇编语言是很多相关课程(如数据结构、操作系统、微机原理等)的重要基础。其实仅从课程关系的角度讨论汇编语言的重要性未免片面,概括地说,如果你想从事计算机科学方面的工作的话,汇编语言的基础是必不可缺的。原因很简单,我们的工作平台、研究对象都是机器,汇编语言是人和计算机沟通的最直接的方式,它描述了机器最终所要执行的指令序列。想深入研究英国文化,不会英语行吗?汇编语言是和具体的微处理器相联系的,每一种微处理器的汇编语言都不一样,只能通过一种常用的、结构简洁的微处理器的汇编语言来进行学习,从而达到学习汇编的两个最根本的目的:充分获得底层编程的体验,深刻理解机器运行程序的机理。
前言 🌞🌞想要学好C语言,操作符是非常重要且必不可少的一部分内容,操作符分为算数运算符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式、下标引用,函数调用和结构成员。 操作符的基本特性 每个操作符都有自己的语义 每个操作符都有对应的优先级,如果两个操作符挨在一块,先执行优先级高的操作符,如果优先级相同,取决于他们的结合性。 每个操作符都有结合性。 操作符的结合性定义了操作符对操作数执行操作的顺序,例如:右结合性表示该操作符对其操作数从右向左执行操作。
一、指针是什么❔ 指针也就是 内存地址 ,在计算机上我们访问数据需要通过内存地址来访问,在C语言中,指针变量是用来存放内存地址的变量,在不同系统下,指针(内存)地址的长度不同,32位CPU下,由于有32根地址线,所以指针(内存)地址是由32个bit位组成的,也就是4Byte,在64位CPU下,有64根地址线,所以地址由64个bit位组成,也就是8Byte,指针指向的地址都是一个内存单元,一个内存单元里面有1byte的数据。
一、指针运算 指针可以进行±整数,指针-指针,还有关系运算,其他的运算会被编译器阻止。 1.指针 + - 整数 对指针进行±的时候一定要注意不要越界访问,不然会产生野指针。
需要用到的指令✨✨ 查看、修改CPU中寄存器的内容:R命令 查看内存中的内容:D命令 修改内存中的内容:E命令(可以写入数据、指令,在内存中,它们实际上没有区别) 将内存中的内容解释为机器指令和对应的汇编指令:U命令 执行CS:IP指向的内存单元处的指令:T命令 以汇编指令的形式向内存中写入指令:A命令
一、大小端字节序问题 大小端是由CPU决定的,大小端可以理解为字节顺序,所以大小端全称叫大端字节序、小端字节序。其实大端、小端这两个词是从《格列佛游记》里出来的。《格列佛游记》有一段讲的是吃鸡蛋是从大的那头敲开还是小的那头敲开的问题,书中把从大头敲开的那种叫做大端,把从小头敲开的那种叫小端,第一个指出计算机数据存储顺序问题的人就采用了这个大小端的说法。
⭐浮点数在内存中的存储 float、double、long double 浮点数的范围定义在float.h头文件中
指针的介绍: 指针是一个用来存放地址的变量,可以通过指针存放的地址找到对应位置的值,对其进行使用。 指针在32位平台下的大小是4个字节,在64位平台下是8个字节。(这是因为32位平台下内存地址是由32根地址线组成,一根地址线就是1bit,用4个字节就可以存下,而64位平台有64根地址线,需要八个字节才可以存下)。 如果对指针进行加减与解引用操作,则±的步长与解引用操作的长度由指针类型决定,指针类型是几个字节±步长与解引用就是几个字节。
qsort的介绍: qsort ()函数是 C 库中实现的快速排序算法,包含在 stdlib.h 头文件中 此函数需要四个参数void qsort(void* *base, size_t nitems, size_t size, int (compar)(const void * , const void)) char* base —— 指向要排序的数组首元素地址的指针 size_t nitems —— 要排序数组的元素个数 size_t size —— 数组每个元素大的小 (有非常重要的作用) int compar(const void *,const void *) —— 由使用者提供的一
你真的学会指针了吗?几组练习题,能全答对超99%初学者,务必思考后再看答案🧐: 做题之前必须明白以下规则 提示: 1.数组名一般情况下都是代表首地址,不过有两种特殊情况 (1)数组名单独出现在sizeof内部 (2)&数组名 2.指针在32位平台下的大小是4个字节,在64位平台下是8个字节。(下面答案内的4/8就是值32位平台和64位平台分别为4/8) 3.sizeof不关心内部是什么值,只关心返回结果的类型,比如
前言 大家好,今天带来一篇新的专栏 c_牛客,不出意外的话每天更新十道题,难度也是从易到难,自己复习的同时也希望能帮助到大家,题目答案会根据我所学到的知识提供最优解。
前言 大家好,继续更新专栏 c_牛客,不出意外的话每天更新十道题,难度也是从易到难,自己复习的同时也希望能帮助到大家,题目答案会根据我所学到的知识提供最优解。
前言 大家好,继续更新专栏 c_牛客,不出意外的话每天更新十道题,难度也是从易到难,自己复习的同时也希望能帮助到大家,题目答案会根据我所学到的知识提供最优解。 🏡个人主页:悲伤的猪大肠9的博客_CSDN博客-C——语法,汇编,c_牛客领域博主 ✨✨✨✨如果文章对你有帮助记得点赞收藏关注哦!!✨✨✨✨ 题目来源:牛客网 编程语言初学训练营_在线编程+题解_牛客题霸_牛客网 (nowcoder.com)
🚀🚀前言 大家好,继续更新专栏 c_牛客,不出意外的话每天更新十道题,难度也是从易到难,自己复习的同时也希望能帮助到大家,题目答案会根据我所学到的知识提供最优解。
前言 大家好,继续更新专栏 c_牛客,不出意外的话每天更新十道题,难度也是从易到难,自己复习的同时也希望能帮助到大家,题目答案会根据我所学到的知识提供最优解,希望要学习的小伙伴先思考再看答案。
前言 大家好,继续更新专栏 c_牛客,不出意外的话每天更新十道题,难度也是从易到难,自己复习的同时也希望能帮助到大家,题目答案会根据我所学到的知识提供最优解,希望要学习的小伙伴能先思考再看答案,这样学习效率倍增,如有哪里不足还请评论区留言或私信我。
前言 KMP算法是为了字符串匹配问题而被研究出来的,字符串匹配问题就是查看一个字符串A是否是字符串B的子串,如果是字串的话,在B的哪个位置?此算法代码简练,但理解起来非常困难,建议挑出一整块时间来专门学习,本文作者写的非常用心,还不了解KMP的小伙伴一定要静下心来慢慢细品,你一定会有所收获🍊 一、字符串匹配问题 如果遇到这种在一个字符串中寻找另一个字符串的子串这种问题,大多数人第一时间想到的肯定是通过暴力匹配算法来完成,也就是Brute-Force算法简称BF算法,时间复杂度为O(m*n),如果有上千行上万文本呢?,时间成本一定会很高,所以D.E.Knuth,J.H.Morris和V.R.
🏺BC93 统计数据正负个数🏺🏺BC93 统计数据正负个数🏺
前言 大家好,本文主要深度讲解关于结构体的使用及细节,收录到C—语法专栏,此专栏定期更新C语言语法方面的知识,都是比较详细的,自己复习的同时也希望能帮助到大家,如果有不对或者不足的地方欢迎评论区补充。 🏡个人主页:悲伤的猪大肠9的博客-C语言领域博主 ✨如果文章对你有帮助记得点赞收藏关注哦!!✨ 🌈重要的不是成功,而是奋斗的过程 一、结构体 之前我们学过整形(short,int),浮点型(float,double),字符型,还有数组(存储相同类型的数据),但在实际问题中,这些类型显然不够,如果我们想表示一个学生的信息,就会有姓名、年龄、分数。。。这时候就需要一个可以存储不同类型数据
单链表 单链表的优点 1.头部和中间插入或删除数据效率高,无需挪动。 2.按照需求申请释放空间,无需担心空间不够用。 单链表的缺点 1.不可以进行下标随机访问。 2.复杂度是O(n) 3.反向遍历困难 单链表是线性表的一种,单链表是链式存储的线性表,不同于单链表,链表在内存空间中不连续,而是由结构体内的next指针下一条数据进行链接🧐
《力扣》138.复制带随机指针的链表 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点 。 例如,如果原链表中有 X 和 Y 两个节点,其中 X.random --> Y 。那么在复制链表中对应的两个节点 x 和 y ,同样有 x.rando
一、什么是栈,什么是FILO 栈是一种具有特殊访问方式的存储空间,它的特殊性在于,最后进入这个空间的数据,最先出去,可以画图来描述一下这种操作方式。 假设有一个盒子和三本书,依次将三本书他们放入盒子中。
一、什么是队列,什么是FIFO 队列允许在一端进行插入操作,在另一端进行删除操作的线性表,队列是与栈相对的一个数据结构,栈的特点是先进后出,而队列的特点是先进先出,进行插入操作的一端叫队尾,进行删除的一端叫队头。 正如队列的名字一样,我们假设有一个队列(正在排队的一列队伍),一群人,人们依次进入队列进行排队。
一、树结构的定义与对比 树结构是一种一对多的非线性结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因 为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 不要与现实中的树混在一起,当n>0时,树有且只有一个根结点。 除根节点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、……、Tm,其中每一个集合Ti(1<= i <= m)又是一棵结构与树类似的子树。每棵子树的根结点有且只有一个前驱,可以有0个或多个后继
一、堆的概念及其介绍 堆(Heap)是计算机科学中一类特殊的数据结构的统称,堆通常是一个可以被看做一棵完全二叉树的数组对象。如果有一个关键码的集合K = { , , ,…, },把它的所有元素按完全二叉树的顺序存储方式存储 在一个一维数组中,并满足: <= 且 <= ( >= 且 >= ) i = 0,1, 2…,则称为小堆(或大堆)。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。
堆(Heap数据结构堆在计算机科学中有着广泛的应用,今天来介绍两种堆的应用:堆排序、Top-k问题🍉 堆排序 堆排序是一种基于堆数据结构的排序算法。它的基本思想是,将待排序的序列构建成一个大根堆(或小根堆),然后依次取出堆顶元素(即最大值或最小值),将其放入已排序序列的末尾,再将剩余的元素重新调整为一个新的堆。重复这个过程,直到所有元素都被取出并放入已排序序列中。
前言 大家好,继续更新专栏 c_牛客,好久没更新了,牛客篇卷土重来了,自己复习的同时也希望能帮助到大家,题目答案会根据我所学到的知识提供最优解,希望要学习的小伙伴能先思考再看答案,这样学习效率倍增,如有哪里不足还请评论区留言或私信我,如果有不懂或者疑惑的地方也可以留言或者私信我。