随笔分类 - 数据结构与算法
摘要:用二分法,在一个范围内取中间数看有没有满足求 最大值 的条件(因为是先求最大值,再在最大值中求最小值),一次二分可以否定掉一半的范围,一次次缩减范围,锁定我们要求的数。 假设我们要求的最小 最大值是res。m是二分的中间值,范围[l, r] 范围是开区间还是闭区间要视具体情况而定,这里举例子用的闭区
阅读全文
摘要:622. 设计循环队列 - 力扣(LeetCode) C语言 1 typedef struct { 2 int front; 3 int rear; 4 int capcity; 5 int* Elements; 6 } MyCircularQueue; 7 8 9 MyCircularQueue*
阅读全文
摘要:“如果一个选手比你小还比你强,你就可以退役了。”——单调队列的原理 作者写的很好,例子也很形象 : 算法学习笔记(66): 单调队列 - 知乎 (zhihu.com) 可以通过做这道题来理解 https://leetcode-cn.com/problems/sliding-window-maximu
阅读全文
摘要:https://blog.csdn.net/Sungree/article/details/100834974 注意:因为是数组表示(有值的区域里没有空缺),所以这个二叉树是完全二叉树 大顶堆: C语言代码 1 #include <stdio.h> 2 #include <stdlib.h> 3 #
阅读全文
摘要:广度优先搜索概念可自行查阅 用二叉树的层序遍历会容易理解很多,如图 层序遍历怎么实现呢 要用到队列(先进先出): 力扣 102.二叉树的层序遍历 这个题的一个难点就是你要把每一层的元素分开,一个一维数组里放一层元素,在C语言写法里可以设一个last参数记录上一层遍历结束时的rear值,这样last与
阅读全文