首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
算法
奕翎
创建于2023-02-22
订阅专栏
这里是我的算法笔记
暂无订阅
共55篇文章
创建于2023-02-22
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
栈
栈 先进后出 这里用数组来模拟栈 栈 先进后出 这里用数组来模拟栈 栈 先进后出 这里用数组来模拟栈
双链表
这里主要用数组来模拟链表,也叫静态链表 偷个懒,把head存入数组0索引中,和单链表优化版一样 模板 注意,这里面的k + 1代表第k个插入的元素,因为idx是从k开始的 C++ Java 练习 01
单链表
单链表中最常用的是邻接表 邻接表就是n个单链表 邻接表最主要的用途就是存储树与图 这里主要用数组来模拟链表,也叫静态链表 模板一 注意,这里面的k - 1代表第k个插入的元素,因为idx是从0开始的
区间合并
模板 C++ Java 练习 01 区间合并 题目 题解 区间合并 区间合并 区间合并 区间合并 区间合并
位运算
模板 求n的二进制下第k位数字 n = 15 = (1111)₂ 规定二进制下最右一位是第0位 返回n的二进制下的最后一位1 练习 01 二进制中1的个数 题目 题解
双指针算法
模板 双指针算法的核心思想就是将两个循环嵌套的朴素算法的时间复杂度o(n^2^)优化成o(n) 常见问题分类 对于一个序列,用两个指针维护一段区间 对于两个序列,维护某种次序,比如归并排序中合并两个有
差分
模板 差分是前缀和的逆运算 本质也是用空间换时间 一维差分 给出一个数组S构造出它的差分数组a使得S[i] = a[1] + … +a[i] 此时我们如果想在原数组S的某个区间上进行批量的数据修改,可
前缀和
前缀和是为了求数组中的一段数据的和 本质是用空间换时间 后期每次查询的时间复杂度为o(1) 模板 一维前缀和 前期初始化的时间复杂度为o(n) 二维前缀和 思想:容斥原理 练习 01 前缀和 题目 题
高精度除法
模板 C++ Java 练习 04 高精度除法 题目 题解 高精度除法 高精度除法 高精度除法 高精度除法
高精度乘法
模板 C++ Java 练习 03 高精度乘法 题目 题解 高精度乘法 高精度乘法 高精度乘法 高精度乘法
高精度减法
模板 C++ Java 练习 02 高精度减法 题目 题解 高精度减法 高精度减法 高精度减法 高精度减法
高精度加法
在Java中有专门处理高精度的API:BigInteger和BigDecimal,所以在Java中不用对大整数进行专门的处理,相应的用法和底层原理请详见我的两篇笔记 Java BigInteger:h
二分查找
模板 整数二分 如果有单调性,一定可以二分;但是可以二分的题目,不一定有单调性 所以二分的本质并不是单调性,而是寻找满足某种性质的边界 第一种情况是判断mid是否满足红色性质,寻找的是红色部分的边界
归并排序
模板 C++ Java 练习 01 归并排序 题目 题解 02 逆序对的数量 题目 题解 思路讲解:AcWing 788. 逆序对的数量 - AcWing
快速排序
模板 C++ Java 以上是以j做划分,以i做划分的模板如下 详见AcWing 785. 快速排序算法的证明与边界分析 - AcWing 练习 01 题目 题解 02 题目 题解