算法
文章平均质量分 52
leetcode日常刷题
张孟浩_jay
分享Java后端、MySQL、数据结构、计算机基础、算法、并发编程技术!欢迎朋友们交流关注,共同进步!
展开
-
线段树模板
线段树是一个区间二叉树,用来处理区间和、区间最大值、区间最小值等区间问题。线段树的节点存储着对应的区间信息、以及维护的最大值或者是最小值信息。线段树是一个完全二叉树,用一个数组来存储,根节点的下标为1,左子节点为2* i,右子节点为2*i+1。对应的区间信息其实不用存储,都是在代码中维护的,因为每次都是将一个区间按照mid来分为[l,mid]和[mid+1,r]两个左右子区间。线段树针对的是区间的动态更新和查找,修改和查找的时间复杂度都是log(n)。因为普通的前缀和的查找时间虽然是O(1),但原创 2021-10-18 21:29:18 · 107 阅读 · 1 评论 -
Java版skiplist跳表详解
skiplist简介skiplist 是 一个概率型数据结构,查找、删除、插入的时间复杂度都是O(logN)。skiplist是由多层有序的链表组成的,来加快查找速度。其中第0层包含了所有元素,然后往上增加了多层的有序链表作为索引来加快查找速度。skiplist组成链表节点Nodepublic class Node { //存储的数据 private int data = -1; /** * 表示当前节点位置的下一个节点所有层的原创 2021-10-03 22:09:22 · 880 阅读 · 1 评论 -
渐进时间复杂度
1、 O是上界2、 Ω是下界3、 Θ是确界原创 2021-09-15 16:35:02 · 212 阅读 · 1 评论 -
图的四种最短路径算法对比
算法单源带权时间复杂度DFS单源带权O(V2) (V为顶点个数)BFS单源无权O(V) (V为顶点个数)Dijkstra单源带权O(ElogV ) (E为边数量,V为顶点个数)Floyd多源带权O(n3)原创 2021-09-11 16:49:19 · 218 阅读 · 1 评论 -
扰乱字符串
一、题目描述使用下面描述的算法可以扰乱字符串 s 得到字符串 t :如果字符串的长度为 1 ,算法停止如果字符串的长度 > 1 ,执行下述步骤:在一个随机下标处将字符串分割成两个非空的子字符串。即,如果已知字符串 s ,则可以将其分成两个子字符串 x 和 y ,且满足 s = x + y 。随机 决定是要「交换两个子字符串」还是要「保持这两个子字符串的顺序不变」。即,在执行这一步骤之后,s 可能是 s = x + y 或者 s = y + x 。在 x 和 y 这两个子字符串上继续从步骤原创 2021-04-23 10:05:52 · 290 阅读 · 0 评论 -
DP动态规划之不同的子序列
一、题目描述给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是)题目数据保证答案符合 32 位带符号整数范围。示例 1:输入:s = “rabbbit”, t = “rabbit”输出:3解释:如下图所示, 有 3 种可以从 s 中得到 “rabbit” 的方案。(上箭头符号 ^ 表示选原创 2021-04-17 14:26:41 · 150 阅读 · 0 评论 -
DP动态规划之交错字符串
一、题目介绍给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:s = s1 + s2 + … + snt = t1 + t2 + … + tm|n - m| <= 1交错 是 s1 + t1 + s2 + t2 + s3 + t3 + … 或者 t1 + s1 + t2 + s2 + t3 + s3 + …提示:a + b 意味着字符串 a 和 b原创 2021-04-17 13:44:46 · 189 阅读 · 0 评论 -
DP—— 3n块披萨
本题来自于leetcode第1388题https://leetcode-cn.com/problems/pizza-with-3n-slices/一、题目介绍给你一个披萨,它由 3n 块不同大小的部分组成,现在你和你的朋友们需要按照如下规则来分披萨:你挑选 任意 一块披萨。Alice 将会挑选你所选择的披萨逆时针方向的下一块披萨。Bob 将会挑选你所选择的披萨顺时针方向的下一块披萨。重复上述过程直到没有披萨剩下。每一块披萨的大小按顺时针方向由循环数组 slices 表示。请你返回你可以获得的原创 2021-03-29 15:38:29 · 294 阅读 · 1 评论