上一页 1 2 3 4 5 6 7 ··· 11 下一页
摘要: 单调栈与单调队列 单调栈就是栈内元素满足单调性的栈结构。此处的单调性分为单调递增与单调递减 如何维护一个单调栈: **单调递增栈:**在保持栈内元素单调递增的前提下(如果栈顶元素大于要入栈的元素,将将其弹出),将新元素入栈。 **单调递减栈:**在保持栈内元素单调递减的前提下(如果栈顶元素小于要入栈 阅读全文
posted @ 2021-11-06 11:09 时间最考验人 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 经典排序算法 选择排序 算法思想: A.在未排序序列中找到最小(大)元素,存放到排序序列的起始位置 B.从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾 C.以此类推,直到所有元素均排序完毕 【参考代码】 #include<iostream> #include<algorithm> 阅读全文
posted @ 2021-11-04 21:21 时间最考验人 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 双指针算法 什么是双指针 严格的来说,双指针只能说是是算法中的一种技巧。 双指针指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向(快慢指针)或者相反方向(对撞指针)的指针进行扫描,从而达到相应的目的。最常见的双指针算法有两种:一种是,在一个序列里边,用两个指针维护一段区 阅读全文
posted @ 2021-11-04 21:16 时间最考验人 阅读(1365) 评论(3) 推荐(1) 编辑
摘要: 区间合并 给定 n 个区间 [li,ri],要求合并所有有交集的区间。 注意如果在端点处相交,也算有交集。 输出合并完成后的区间个数。 例如:[1,3] 和 [2,6] 可以合并为一个区间 [1,6] 。 输入格式 第一行包含整数n。 接下来n行,每行包含两个整数l和r。 输出格式 共一行,包含一个 阅读全文
posted @ 2021-11-04 21:13 时间最考验人 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 二分法 如果序列是有序的,就可以通过二分查找快速定位所需要的数据。除此之外,二分思想还能求出可行解的最值问题,比如想知道某款手机最高能多少楼高度摔下来而不会摔坏,使用二分的方式可以用最小实验次数就能得到结果(当然你需要准备好几个样品)。 整数二分 单调性与二分的关系:有单调性一定可以二分,用二分不一 阅读全文
posted @ 2021-11-04 21:10 时间最考验人 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 数组模拟栈与队列 数组模拟栈 栈特点:后进先出 模板 // tt表示栈顶 int stk[N], tt = 0; // 向栈顶插入一个数 stk[ ++ tt] = x; // 从栈顶弹出一个数 tt -- ; // 栈顶的值 stk[tt]; // 判断栈是否为空 if (tt > 0) { } 阅读全文
posted @ 2021-11-04 20:20 时间最考验人 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 数组模拟双链表 通过前面的学习我们知道单链表是单个指针指向操作,那么通过类比我们可以把指针设定为两个,并且让它们分别指向前后数据,这就是“双向链表”。使用这种链表,不仅可以从前往后, 还可以从后往前遍历数据,十分方便。 1.使用数组模拟双链表 // e[i] 表示节点i的值 // l[i] 指向当前 阅读全文
posted @ 2021-11-01 21:19 时间最考验人 阅读(235) 评论(2) 推荐(0) 编辑
摘要: 链表 实现链表的方式 struct Node { int val; Node *next; };// 不讲——竞赛不常用 每次创建一个新的链表的时候,就会调用一次new函数来创建新的节点(动态创建链表),这个操作是非常慢的 单链表:算法题中单链表用的最多的是邻接表(n个链表)。应用:存储树和图 双链 阅读全文
posted @ 2021-10-31 20:45 时间最考验人 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 模板设计模式 1.模板模式简介 模板模式(Template ):模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意 阅读全文
posted @ 2021-10-30 10:43 时间最考验人 阅读(748) 评论(11) 推荐(2) 编辑
摘要: Java策略模式 1.策略模式简介 策略模式:策略模式是一种行为型模式,它将对象和行为分开,将行为定义为 一个行为接口 和 具体行为的实现。策略模式最大的特点是行为的变化,行为之间可以相互替换。每个if判断都可以理解为就是一个策略。本模式使得算法可独立于使用它的用户而变化 2.模式结构 策略模式包含 阅读全文
posted @ 2021-10-27 22:22 时间最考验人 阅读(181) 评论(0) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 ··· 11 下一页