593.有效的正方形 593.有效的正方形难度中等131 给定2D空间中四个点的坐标 p1, p2, p3 和 p4,如果这四个点构成一个正方形,则返回 true 。 点的坐标 pi 表示为 [xi, yi] 。输入 不是 按任何顺序给出的。 一个 有效的正方形 有四条等边和四个等角(90度角)。 示例 1: 12输入: p1 = [0,0], p2 = [1,1], p3 = [1,0], p4 = [0,1]输出: 2022-07-29 leetcode #Java #leetcode #数据结构与算法 #数学 #几何
1331数组序号转换 1331. 数组序号转换难度简单85 给你一个整数数组 arr ,请你将数组中的每个元素替换为它们排序后的序号。 序号代表了一个元素有多大。序号编号的规则如下: 序号从 1 开始编号。 一个元素越大,那么序号越大。如果两个元素相等,那么它们的序号相同。 每个数字的序号都应该尽可能地小。 示例 1: 123输入:arr = [40,10,20,30]输出:[4,1,2,3]解释:40 是最大的元 2022-07-28 leetcode #Java #leetcode #数据结构与算法 #排序 #数组 #哈希表
数据结构-最大公约数计算 辗转相除法是求最大公约数的一种方法。它的具体做法是:用较小数除较大数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。这个和更相减损术有着异曲同工之处 2022-07-27 数据结构 #Java #leetcode #数据结构与算法 #数学 #最大公约数 #辗转相除法
592.分数相减运算 592.分数加减运算难度中等76 给定一个表示分数加减运算的字符串 expression ,你需要返回一个字符串形式的计算结果。 这个结果应该是不可约分的分数,即最简分数。 如果最终结果是一个整数,例如 2,你需要将它转换成分数形式,其分母为 1。所以在上述例子中, 2 应该被转换为 2/1。 示例 1: 12输入: expression = "-1/2+1/2"输出: &q 2022-07-27 leetcode #Java #leetcode #数据结构与算法 #字符串 #模拟 #数学 #最大公约数
636.函数的独占时间 636.函数的独占时间难度中等203 有一个 单线程 CPU 正在运行一个含有 n 道函数的程序。每道函数都有一个位于 0 和 n-1 之间的唯一标识符。 函数调用 存储在一个 调用栈 上 :当一个函数调用开始时,它的标识符将会推入栈中。而当一个函数调用结束时,它的标识符将会从栈中弹出。标识符位于栈顶的函数是 当前正在执行的函数 。每当一个函数开始或者结束时,将会记录一条日志,包括函数标识符、是开 2022-07-27 leetcode #Java #leetcode #数组 #栈
1206设计跳表 1206. 设计跳表难度困难140收藏分享切换为英文接收动态反馈 不使用任何库函数,设计一个 跳表 。 跳表 是在 O(log(n)) 时间内完成增加、删除、搜索操作的数据结构。跳表相比于树堆与红黑树,其功能与性能相当,并且跳表的代码长度相较下更短,其设计思想与链表相似。 例如,一个跳表包含 [30, 40, 50, 60, 70, 90] ,然后增加 80、45 到跳表中,以下图的方式操作: 2022-07-26 leetcode #Java #leetcode #数据结构与算法 #跳表 #设计
919完全二叉树插入器 919. 完全二叉树插入器难度中等119收藏分享切换为英文接收动态反馈 完全二叉树 是每一层(除最后一层外)都是完全填充(即,节点数达到最大)的,并且所有的节点都尽可能地集中在左侧。 设计一种算法,将一个新节点插入到一个完整的二叉树中,并在插入后保持其完整。 实现 CBTInserter 类: CBTInserter(TreeNode root) 使用头节点为 root 的给定树初始化该数据结构 2022-07-25 leetcode #Java #leetcode #数据结构与算法 #二叉树 #BFS
1184公交站间的距离 1184. 公交站间的距离难度简单82收藏分享切换为英文接收动态反馈 环形公交路线上有 n 个站,按次序从 0 到 n - 1 进行编号。我们已知每一对相邻公交站之间的距离,distance[i] 表示编号为 i 的车站和编号为 (i + 1) % n 的车站之间的距离。 环线上的公交车都可以按顺时针和逆时针的方向行驶。 返回乘客从出发点 start 到目的地 destination 之间的最短距 2022-07-24 leetcode #Java #leetcode #数据结构与算法 #数组
剑指offerII115重建序列 剑指 Offer II 115. 重建序列难度中等84收藏分享切换为英文接收动态反馈 给定一个长度为 n 的整数数组 nums ,其中 nums 是范围为 [1,n] 的整数的排列。还提供了一个 2D 整数数组 sequences ,其中 sequences[i] 是 nums 的子序列。检查 nums 是否是唯一的最短 超序列 。最短 超序列 是 长度最短 的序列,并且所有序列 sequence 2022-07-23 leetcode #Java #leetcode #数据结构与算法 #数组 #图 #拓扑排序