自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言 -- 贪心

贪心的类型和模板:局部最优决策1、数组区间题型,一般分为按end排序,按start排序,或者同时排序排序 + 按end排序,452,435435: 找到需移除区间的最小数量,使剩余区间互不重叠,题解:排序 + 按结束位置排序452:第一个结束位置能够包含到的最多的气球个数,不能包含到的再加一只箭,官方题解写的非常好https://leetcode-cn.com/problems/minimum-number-of-arrows-to-burst-balloons/solution/y

2020-08-18 21:39:09 258

原创 C语言-二叉树总结

C语言 -- 二叉树总结1、DFS + BFS,863DFS:查找二叉树每个节点的父节点BFS向三个方向查找距离为K的节点:(变异版BFS)

2020-08-12 15:45:22 514

原创 C语言--拓扑排序 BFS/DFS实现

207:拓扑排序,用来解决有向无环图

2020-07-13 16:12:08 380

原创 C语言 -- 滑动窗口

1151 --最少交换次数来组合所有的 1如:[1,0,1,0,1],交换次数是1本来的思路是1、计算出1的个数,即每次窗口的长度,然后计算出每个窗口0的个数,最少的那个窗口0的次数就是交换的次数,奈何才到十几个用例就超时了官方题解:1、计算原数组 data 中 1 的个数 totalOne。2、维护一个长度为 totalOne 的窗口,计算窗口中 1 的个数。先遍历求出第一个窗口 1 的个数,并保存好这个数字,记为 countOne。3、向右移动窗口,继续计算 1 的个数。假设当.

2020-06-08 19:48:02 2861

原创 C语言--实现中序遍历

173:中序遍历二叉搜索树,利用栈实现中序遍历核心思想:173实现:

2020-05-27 20:22:16 839

原创 C语言--常用函数

1、sscanf,格式化输入,可以用于ip地址向无符号长整型转换,较为方便和简单unsigned long ip2long(char *ip){ unsigned long a, b, c, d; //必须使用ul,否则左移24位会越界 sscanf(ip, "%lu.%lu.%lu.%lu", &a, &b, &c, &d); return ((a << 24) | (b << 16) | (c << 8) ...

2020-05-21 10:59:45 174

原创 C语言--差分

1109、1094、253 都是使用差分来实现,1109使用暴力最后几个用例会超时差分的套路:对于数组array[N]中的某一段进行增减操作,通过差分可在O(n)时间内完成。如trips = [[2,1,5],[3,3,7]]第一步:更新array[1] = 2, array[5] = -2;第二步:更新array[3] = 3, array[7] = -3;第三步:进行求和,得到结果array[] = {0,2,2,5,5,3,3,0};1、第一步也可能是更新array[1]

2020-05-18 21:51:41 3332

原创 C语言--贪心

621 -- 贪心使用排序方法实现,两个相同种类的任务之间必须有长度为n的冷却时间,因此至少有连续 n 个单位时间内 CPU 在执行不同的任务 --- 所以 1、n+1个任务为一轮 2、循环结束条件:最多的那个任务为0的时候,结束621实现:...

2020-05-15 17:37:10 237

原创 C语言--各种算法模板

并查集--路径压缩模板

2020-05-02 09:19:27 687

原创 C语言 -- BFS

BFS(广度优先搜索) 常用来解决最短路径问题。第一次遍历到目的节点时,所经过的路径是最短路径。几个要点:1、只能用来求解无权图的最短路径问题2、队列:用来存储每一层遍历得到的节点3、标记:对于遍历过的结点,应将其标记,以防重复访问。注:广度搜索时候,如果曾经加入过,后续就不用再加入了; 加入队列时候,需要标记当前层级,方便后续直接返回目标解;...

2020-04-30 20:18:39 3132

原创 C语言 -- 返回值

对于需要返回二维数组的函数调用,一定要对返回值的列申请内存大小,否则会有部分用例不过,如下红框里的参数

2020-04-27 19:30:26 180

原创 C语言 -- 传参

1、二维数组传参,列大小不一致如数组:实现如下:

2020-04-27 16:56:30 170

原创 可信--科二

extern C :https://baike.baidu.com/item/extern%22c%22/15267009

2020-04-19 16:32:50 923

原创 C语言 -- qsort排序

1、使用qsort排序,发现在排序2147483647 和 -2147483648时,使用如下qsort实现无法正确对-2147483648排序,我们可以使用如下实现来避免这个坑:

2020-04-18 15:21:59 611

原创 C语言 -- 字符串2

leetcode 820:使用的是字符串排序和strstr查找是否存在子串,没看懂为啥需要第二个条件:if(tmp==NULL||tmp[strlen(words[i])]!='#')

2020-04-12 17:45:23 160

原创 C语言---字典树

字典树介绍:https://blog.csdn.net/weixin_40374341/article/details/94028364https://leetcode-cn.com/problems/short-encoding-of-words/solution/99-java-trie-tu-xie-gong-lue-bao-jiao-bao-hui-by-s/leetcode 82...

2020-04-12 17:40:45 338

原创 C---字符串--常用字符串库函数

常用字符串strstr, 安全函数:--待补充函数原型:string strstr( string1,string2)功能:strstr返回一个指针,指向string2在string1中首次出现的位置。二维指针字符串输入和排序:按照字符串长度从大到小排序,长度相同,按照字典序升序排序...

2020-04-12 17:39:22 396

原创 C语言-- 分治(二分查找、归并排序)

leetcode 33 ---二分查找查找旋转点:1、二分查找,注意判断条件;2、直接for循环一遍,判断nums[i] < nums[i - 1],则索引i 为旋转点;第二种方法更简单,不容易出错leetcode 81 --- 33题的升级版,和33题的区别是数组里含有重复元素,可以通过查找拐点(旋转点的前一个元素)来判断,然后判断target和nums[0]的关系来二分查...

2020-04-12 15:06:12 431

原创 C语言---单调栈

leetcode 496、503leetcode 496 :可以使用单调栈,个人感觉暴力解法比较容易做出来,使用单调站遇到几个坑:1、int*,返回的必须是指针,不可以使用数组,否则报错:Line 207: Char 3: runtime error: load of null pointer of type 'int' (__Serializer__.c)2、判断nums是否为空,要...

2020-04-11 09:59:49 1070

空空如也

空空如也

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

TA关注的人

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