首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
算法解析
白龙码
创建于2022-08-20
订阅专栏
Algorithm!
暂无订阅
共21篇文章
创建于2022-08-20
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
消失的数字
前言~ 有一道经典的面试题,是这样的: 如果题目没有规定要在O(n)时间内完成,那么这道题有很多解法,比如暴力的遍历,或者是先快速排序,然后再查找;但是这带来的问题就是,时间复杂度高于O(n)! 有没
看得见摸不着的“隐式类型转换”
Part I、整型提升 C的整型算术运算总是至少以缺省整型类型的精度来进行的。为了获得这个精度,表达式中的字符(char)和短整型(short)操作数在使用之前被转换为普通整型(int),这种转换称为
链表相交问题(LeetCode 160)
Part I、何谓相交? 1、 文字解析 我们知道,链表可以分为单链表和双链表,前者有唯一的next指针指向下一个节点,而后者在此基础上新增了一个prev指针指向它的前一个节点,这是区别。但是共同点是
环形链表的又一解法(LeetCode 142)
Part I、温故而知新 对环形链表和链表相交问题不清楚的同学可以先看看下面这两篇文章哦—— 《环形链表问题》 《相交链表问题》 Part II、question 在我们清楚了链表相交之后,这个问题就
回文链表(LeetCode 234)
Part I、回文结构 1、 生活中的回文 处处飞花飞处处;潺潺碧水碧潺潺。 处处红花红处处;重重绿树绿重重。 这两句对联儿您或许不熟悉,但是看起来、读起来都格外地有意思。为什么呢?因为无论是正着读,
深度拷贝带随机指针的链表(LeetCode 138)
Part I、解读 1、随机指针 对于我们常见的链表,其大多都有一个数据域,和一个指向下一个节点的指针next。今天我们讨论的链表多了一个随机指针random,它的指向可以是链表中的任意一个结点,甚至
消失的数字I、II、III、IV
Part I、消失的数字 I 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? O(n)的时间复杂度,O(1)的空间复杂度,这意味着我们只能遍历数组常数次,而且,最好使的哈希现
多源最短路(学习dijkstra和floyd的模板题)
问题描述 输入格式 输出格式 样例输入 样例输出 数据规模和约定 问题解析 本题是一个求最短路径的问题,而且是带权、多源的最短路径。 带权 即:两个点之间的边是有长度的。如果是不带权的边,则求最短路径
【算法提高】游览计划
问题描述 在一条笔直的公路上有n个景点,第i个景点在Ai千米处,起点在0千米处,所有景点都位于起点一侧。从起点出发,每次任选一个没有游览的景点,从当前位置出发到达那个景点游览这样进行n次,直到停在最
搜索旋转排序数组[特殊二分]
搜索旋转排序数组[特殊二分] 一、LeetCode 33. 搜索旋转排序数组 1、旋转的本质 简单来说,旋转就是将一个原本升序的数组,从某一个点pivot断开,将后半部分整体移至前面: 2、思路分析
BFS实际应用题[思维扩展]——双向BFS与A*启发式搜索
BFS实际应用题[思维扩展] BFS的算法流程通常为: 将起始状态存入队列,并利用一个集合存储所有已经遍历到的状态。 每一轮都将当前队列中已有的size个状态全部取出,并尝试遍历该状态能够到达的新状态
集合划分问题[回溯]
集合划分问题[回溯] 一、回溯思想 由于划分成K个不同的非空子集,因此我们不妨使用一个数组记录K个子集的元素和分别是多少。 由于数组nums的总和确定为sum,因此K个非空子集中,每个子集的和应当为指
字典树
字典树 一、字典树节点 字典树的节点一般包含一个字典树节点指针数组,用来存储它的孩子。 当所有单词都由小写字母构成时,数组的大小为26,即26个小写字母。 二、字典树的插入 以插入单词an为例: 第一
扫描线
扫描线 一、问题引入 对于给定坐标的几个矩形,如何求取它们覆盖的面积?或者,如何求取它们构成的不规则图形的周长? 最暴力的方式就是将所有矩形的面积加起来,再减去相邻矩形重合的面积。但是这种O(n^2^
线段树原理与实现
线段树 一、问题引入 对于一般的区间问题,比如RMQ(区间的最值)、区间的和,如果使用朴素算法,即通过遍历的方式求取,则时间复杂度为O(N),在常数次查询的情况下可以接受,但是当区间长度为N,查询次数
区间贪心问题合集
区间贪心问题 LeetCode 56. 合并区间 两个区间能够重叠,当且仅当:区间B的start小于等于区间A的end。 设ABC三个区间分别为[startA, endA]
字符串匹配DP问题合集
字符串匹配DP问题 题解见注释。 LeetCode 10. 正则表达式匹配 LeetCode 72. 编辑距离 LeetCode 115. 不同的子序列 LeetCode 44. 通配符匹配
水塘抽样算法与等概率证明
水塘抽样 一、一般的抽样算法 对于数据流中的数据,我们将其存储到容器中,并使用随机数取出[0, n)的任意一个元素,完成等概率抽样。 该算法的时间与空间复杂度均为O(n)。 优点:简单易实现 缺点:数
下一个排列问题
一、问题引入 全排列问题很常见,比如一个序列:1 2 3,它的全排列有6种: 1 2 3 、1 3 2、2 1 3、2 3 1、3 1 2、3 2 1 但是如何根据一个排列求下一个排列?所谓下一个排列
单调队列与应用
@[toc] 单调队列 单调队列,就是满足从队头到队尾单调递增或递减的队列。与FIFO队列不同的是,单调队列使用deque作为底层数据结构。 一、push 单调队列从队尾入队,以单调递减队列为例(即队
下一页