Nevergive_
码龄1年
关注
提问 私信
  • 博客:14,113
    14,113
    总访问量
  • 25
    原创
  • 194,100
    排名
  • 469
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江西省
  • 加入CSDN时间: 2023-09-16
博客简介:

2301_79811033的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    289
    当月
    2
个人成就
  • 获得365次点赞
  • 内容获得19次评论
  • 获得288次收藏
创作历程
  • 11篇
    2024年
  • 14篇
    2023年
成就勋章
TA的专栏
  • 数据结构
    10篇
  • 算法基础
    5篇
兴趣领域 设置
  • Java
    java
  • 编程语言
    javac++c语言
  • 前端
    scsshtml前端
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

前缀和(三)

先开辟一个全局变量的 s 二维数组,这个二维数组开成 s [ 5010 ] [ 5010 ] ,由于 ai bi , ci 的数据都会出现从0开始这种情况,那。1(原因和上面一样)
原创
发布博客 2024.03.25 ·
630 阅读 ·
18 点赞 ·
0 评论 ·
20 收藏

前缀和 (二 )

前提:q ->存放初始数据,s-->存放的是前缀和。
原创
发布博客 2024.03.24 ·
469 阅读 ·
15 点赞 ·
0 评论 ·
7 收藏

前缀和(一)

假设有一个数组为a [ n ] , 另一个数组为s [ n ] .
原创
发布博客 2024.03.24 ·
1021 阅读 ·
13 点赞 ·
0 评论 ·
17 收藏

双向队列广搜

isited[a][b] + visited[t.x][t.y] 是否等于3时,我。这是因为:如果放在后面,那么当从起点开始的路径与从终点开始的路径面对面时,当我们已起始点和终点时,我们可以采用双向队列广搜去解决问题。(x1,y1)——表示起点,(x2,y2)——表示终点。: g数组里面存放着输入数据,dist[i][j]表示当。,程序就不会执行判断是否为3,就无法返回正确答案。
原创
发布博客 2024.03.19 ·
888 阅读 ·
18 点赞 ·
0 评论 ·
23 收藏

大数(long long 也存不下)求余数

现在有一个数n为:12345678901234567890123456789012345678901234567890,要你求。
原创
发布博客 2024.03.11 ·
376 阅读 ·
8 点赞 ·
0 评论 ·
8 收藏

leetcode刷题(模拟问题)

连续重复字符是指。
原创
发布博客 2024.02.13 ·
1043 阅读 ·
20 点赞 ·
2 评论 ·
23 收藏

位运算+leetcode ( 2 )

那么数据类型为int,就可以进行位图思想。
原创
发布博客 2024.02.12 ·
907 阅读 ·
23 点赞 ·
2 评论 ·
18 收藏

位运算+leetcode(1)

有n个巢,和n+1个鸽子,那么至少会有一个巢鸟的数量>1。1.给一个数n, 判断它的二进制表示中的。3.给一个数n, 将它的二进制表示中的。2.给一个数n, 将它的二进制表示中的。表示的是:从右往左出现的第一个数字1。以下都是针对数字的二进制进行操作。,同时去统计一下总共进行了几次。,然后再放到数组里去。
原创
发布博客 2024.02.12 ·
1885 阅读 ·
40 点赞 ·
2 评论 ·
41 收藏

算法技巧:双指针总结(2)

这里的基本思路与题二一样,只是比较对象换了,操作换了。,我们最终要找到的是最大值。
原创
发布博客 2024.01.26 ·
1807 阅读 ·
54 点赞 ·
1 评论 ·
31 收藏

算法技巧:双指针总结(1)

首先定义两个变量des和cur,用cur去遍历整个数组,我们要实现[0,des]为非零,[dest+1,cur-1] 为零,[cur,n]为待处理数据,就拿[0,1,0,3,12]来说明,我们要实现数组分块的效果.这里我们也采取一样的思路,定义一个快指针fast,一个慢指针slow,cur++,去找非0的数值,直到找到第一个非0的数,就停下来,,有n个巢,和n+1个鸽子,那么至少会有一个巢鸟的数量>1。定义两个指针,一个为slow,一个fast,我们让。注意:这里所指的双指针在某一些题目中是指针,但。
原创
发布博客 2024.01.25 ·
1448 阅读 ·
42 点赞 ·
0 评论 ·
40 收藏

day 1

这道题的关键点,主要在于边界值是否要取。2.当我们选择的是左闭右开的区间。
原创
发布博客 2024.01.24 ·
372 阅读 ·
7 点赞 ·
0 评论 ·
8 收藏

快速排序 归并排序【递归实现】

然后我们将区间分为 [0,m-1] [m+1,n-1] ,在对两个区间分别进行单趟排序。该算法是采用分治法 (Divide and Conquer)的一个非常典型的应用。找到后,那么begin就暂停往前,并且交换keybegin的数据。begin是最前面位置的下标,end是最后一个位置的下标。若将两个有序表合并成一个有序表,称为二路归并。即先使每个子序列有序,再使子序列段间有序。将已有序的子序列合并,得到完全有序的序列。并返回现在相遇的位置下标 m,end往前去找比key小的。们从小往大依次放入tmp。
原创
发布博客 2023.12.01 ·
966 阅读 ·
26 点赞 ·
1 评论 ·
19 收藏

直接插入,希尔,选择排序

创建2个变量begin和end,初始化两者begin=0 end=n-1(n为数据的数量),先假设最大数据的下标为begin,最小的数是下标为end的数,然后通过遍历数组,找到最大的和最小的,然后将最小的放在最后一个位置,将最大的数据放在第一个位置;的, 然后把后面的数字与其进行比较,如果小于第一个数字,两者就交换,完成该步操作后,前2个数据有序的,然后我们在将第3个数字,与前面两个数字从后往前去比较,如果。然后,对gap的值进行改变,再次重复上述分组和排序的工作。,那么这个位置,就是它应该在的位置。
原创
发布博客 2023.11.30 ·
861 阅读 ·
23 点赞 ·
0 评论 ·
22 收藏

二叉树的最大深度,判断两个二叉树是否相同,对称二叉树,另一棵树的子树【C语言】

这里采用递归来解决,这里是先判断一层是不是。如果是,那么就继续判断该层的下一层是不是,依次往下判断。如果该层不是,那么就返回false,并且也不会继续往下面判断。我们最终要判断这整个树是不是,并非某一部分是不是。思路分析:这里递归中终止的条件是:当进入该函数的节点为NULL时,则递归不再往下了,而是开始进行返回。先判断这颗树为空不,若为空,那么就返回true;否则,就返回false。将一个大的树分成两个小树,进行处理,再对小树进行同样的划分。
原创
发布博客 2023.11.24 ·
414 阅读 ·
5 点赞 ·
1 评论 ·
7 收藏

Top k问题【C语言 堆解决】

如果下标为k的数据进堆了,此刻观察根节点的左右子树,发现左右子树是小堆,那么就满足了向下调整算法的要求,用向下调整算法来处理。完成上述处理后,我们在不断的将新的堆顶(根节点)的数据与数组后的数据进行比较,交换,调整。(这里每处理一次后,若插入的数据大,则堆里最小的数据被弄出去)为例:建一个数据数量为k个的小堆,若数据大于小堆的堆顶数据,则将2者数据进行交换,然后在进行向下调整,,建好堆后,我们将数组里下标为k的数据与此时堆顶的数据进行比较,小堆的性质:小的数据在堆顶,大的数据在后面。—1.找到n个数据中。
原创
发布博客 2023.11.20 ·
68 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

堆的实现 堆排序 【用C语言实现】

树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因 为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。根节点:该节点前面没有前驱节点 例如上图的A是根节点节点的度:一个节点所含有的子树个数为该节点的度 如上图中A的度是6叶节点:度为0的节点 如上图的B C H I P....等都是叶节点树的度:一颗树中,最大的节点的度是树的度 如上图:树的度为6树的深度或高度:树中节点的最大层次 如上图:树的高度为4。
原创
发布博客 2023.11.19 ·
78 阅读 ·
4 点赞 ·
1 评论 ·
0 收藏

实现循环队列【C语言】

假设若开辟k个空间,这就会造成无法判断队列中什么时候满和空,因为当出现front=rear时,即有队列为空的情况,也有队列为满的情况。出现rear=front时,队列为满的情况,最开始初始化后,队列为空 ,那时也满足rear=front,那么无法分清楚空和满的情况。front是队列里第一个元素的下标(这里的第一个并不是常规顺序上的第一个,而是数组里剩余数据中第一个进入的数据),当出现3号这种情况时,在往里插入一个数据,rear若还是按照物理上的结构往后一步,则会出现数组越界访问,的办法来去解决这个问题。
原创
发布博客 2023.11.13 ·
70 阅读 ·
4 点赞 ·
0 评论 ·
0 收藏

用队列实现栈【c语言+leetcode】

初始化栈就意味着:要先创建好一个类型为Mystack的栈变量,创建好后,再将该变量中的两个队列变量给初始化(这里可以直接调用前面创建好的函数QueueInit)。先找到不为空的队列,然后在返回它的该队列的队尾所对应的数据 ,这里可以直接调用函数QueueBack来找到这个数据。细节:由于栈的数据通常只存放在一个队列里,故我们往空队列里进行数据的挪动.,然后,我们要将一个队列q1里的最后一个(第n个)数据给弄出去,可以先将。这里要求用队列实现栈的本质是,用队列的性质来实现栈的特点(后进先出)。
原创
发布博客 2023.11.12 ·
66 阅读 ·
6 点赞 ·
1 评论 ·
1 收藏

​用栈实现队列【C语言+leetcode】

此时栈一 ,有五个数据,现在要实现将1给删除掉,由于栈要求要后进先出,那么如果我们将数据 全挪到栈2中,因为栈的特点,故我们先将5给挪到栈2的栈底,然后依次挪,挪到最后的时候,1就在栈2的栈顶,此时可以直接调用栈的函数进行删除,可以将栈2中的数据全删除掉。要插入数据时,不能插入到栈2中,如果插入到栈2,那么由于栈的性质,会插到数据1的前面,那么就打乱了顺序,故我们要插,只能插到栈1中,故将栈一命名为pushST。由于队列是由两个栈来构建的,判断是否为空,即判断两个栈是否为空。故将栈2命名为 popST。
原创
发布博客 2023.11.12 ·
63 阅读 ·
6 点赞 ·
1 评论 ·
1 收藏

栈和队列详解

栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out,即后进先出)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈,出数据也在栈顶。1.2用来实现栈的结构这里采用的是数组结构来实现的,因为数组实现栈的尾上插入时更方便,不需要创建指针,只要扩容一下就行。但是用链表也是可以的。数组的哪一端用来做栈顶呢?
原创
发布博客 2023.11.12 ·
83 阅读 ·
3 点赞 ·
0 评论 ·
1 收藏
加载更多