leetcode tarjan 341 lca

370场leetcode2题题解

100115.找到冠军Ⅰ ​ 一场比赛中共有 n 支队伍,按从 0 到 n - 1 编号。 给你一个下标从 0 开始、大小为 n * n 的二维布尔矩阵 grid 。对于满足 0 <= i, j <= n - 1 且 i != j 的所有 i, j :如果 grid[i][j] == 1,那么 i ......
题解 leetcode2 leetcode 370

[LeetCode] 1359. Count All Valid Pickup and Delivery Options 有效的快递序列数目

Given n orders, each order consists of a pickup and a delivery service. Count all valid pickup/delivery possible sequences such that delivery(i) is al ......
序列 数目 LeetCode Delivery Options

LeetCode111.104二叉树的最大最小深度

题目描述 深度(叶子节点到根节点长度),最大最小深度这里不多赘述。 代码 最大深度 直接上代码: 递归法 import java.util.List; import java.util.ArrayList; import java.util.Deque; import java.util.Linke ......
深度 LeetCode 111.104 111 104

LeetCode/在树上执行操作以后得到的最大分数

有一棵 n 个节点的无向树,节点编号为 0 到 n - 1 ,根节点编号为 0 。给你一个长度为 n - 1 的二维整数数组 edges 表示这棵树,其中 edges[i] = [ai, bi] 表示树中节点 ai 和 bi 有一条边。 同时给你一个长度为 n 下标从 0 开始的整数数组 value ......
分数 LeetCode

LeetCode101.对称二叉树

题目描述 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 提条的代码 import java.util.List; import java.util.ArrayList; import java.util.Deque; import java.util.LinkedList; imp ......
LeetCode 101

[LeetCode] 1535. Find the Winner of an Array Game

Given an integer array arr of distinct integers and an integer k. A game will be played between the first two elements of the array (i.e. arr[0] and a ......
LeetCode Winner Array 1535 Find

leetcode 第一题 两数之和

题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 初级阶段 Java 主要在于 数组定 ......
之和 leetcode

tarjanの学习笔记

\(Tarjan\)の学习笔记 一,\(tarjan\)搜索树中的几种边: \(~~~~~~~~\)树边:父亲与孩子的边。 \(~~~~~~~~\)前向边:祖先到孩子的边(树边属于特殊的前向边)。 \(~~~~~~~~\)后向边:孩子到祖先的边(与前向边相反)。 \(~~~~~~~~\)横叉边:这种 ......
笔记 tarjan

[LeetCode] 2149. Rearrange Array Elements by Sign

You are given a 0-indexed integer array nums of even length consisting of an equal number of positive and negative integers. You should rearrange the ......
Rearrange LeetCode Elements Array 2149

离线快速LCA(最近公共祖先) Tarjan算法

离线快速LCA(最近公共祖先) Tarjan算法 前言 对于 OIer 来说,LCA 一直是处理树上问题的好帮手,无论是倍增还是树剖都有着优秀的 \(\log n\) 的复杂度。不过由于我们(数据规模)的上进,需要更快速求 LCA,于是就有了…… 反正之前打死我都不相信这玩意能离线,还能 O(1) ......
祖先 算法 Tarjan LCA

11月LeetCode每日一题: 117. 填充每个节点的下一个右侧节点指针 II

题目描述: 给定一个二叉树: struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL 。 初始状态下,所有 ......
节点 指针 右侧 LeetCode 117

LeetCode102.二叉树的层序遍历

题目描述 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点) 示例 提交的代码 import java.util.List; import java.util.ArrayList; import java.util.Deque; import java. ......
LeetCode 102

[LeetCode] 2265. Count Nodes Equal to Average of Subtree

Given the root of a binary tree, return the number of nodes where the value of the node is equal to the average of the values in its subtree. Note: Th ......
LeetCode Average Subtree Count Equal

LeetCode347.前K个高频元素

题目描述 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 提交的代码 你被骗了,我没做出来,能想到的方法时间复杂度是nlogn,还不如不写,想到小顶堆了,但是Java这里我不知道怎么实现:( 学习到的东西 经典使用堆实现,但是 ......
LeetCode 元素 347

欧拉序求LCA

使用欧拉序 st 表 O(1) 求 LCA 欧拉序 st 表求 LCA 一开始是从某篇题解里看到的,后来百度了一下就会了( 这是一种预处理 O(nlogn) ,查询 O(1) 的优秀算法。 什么是欧拉序 举个例子,下面是一棵树: 上面有 dfs 与回溯的过程。 将整个 dfs 与回溯过程写出来: 1 ......
LCA

LeetCode239.滑动窗口最大值

题目描述 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值 。 示例 提交的代码 import java.util.Deque; import java.util.L ......
最大值 LeetCode 239

[LeetCode] 2574. Left and Right Sum Differences

Given a 0-indexed integer array nums, find a 0-indexed integer array answer where: answer.length == nums.length. answer[i] = |leftSum[i] - rightSum[i] ......
Differences LeetCode Right 2574 Left

LeetCode150.逆波兰表达式求值

题目描述 给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 示例 提交的代码 import java.util.Deque; import java.util.LinkedList; class Solution { ......
表达式 LeetCode 150

LeetCode1047.删除字符串中的所有相邻重复项

题目描述 给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 示例 提交的代码 import java.util.Deque; import java ......
字符串 字符 LeetCode 1047

[Leetcode] 0111. 二叉树的最小深度

111. 二叉树的最小深度 题目描述 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:2 示例 2: 输入:root = [2,nu ......
深度 Leetcode 0111

[Leetcode] 0110. 平衡二叉树

110. 平衡二叉树 题目描述 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:true 示例 2: 输入:ro ......
Leetcode 0110

LeetCode20.有效的括号

描述 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相同类型的左括号。 示例 提交的代码 import java.util.Deque ......
括号 LeetCode 20

[LeetCode] 1274. Number of Ships in a Rectangle

(This problem is an interactive problem.) Each ship is located at an integer point on the sea represented by a cartesian plane, and each integer point ......
Rectangle LeetCode Number Ships 1274

LeetCode225.用队列实现栈

题目描述 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。 int pop() 移除并返回栈顶元素。 int top() 返回栈顶元素。 ......
队列 LeetCode 225

LeetCode232.用栈实现队列

题目描述 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回队列开头的元 ......
队列 LeetCode 232

[Leetcode] 0832. 翻转图像

832. 翻转图像 题目描述 给定一个 n x n 的二进制矩阵 image ,先 水平 翻转图像,然后 反转 图像并返回 结果 。 水平翻转图片就是将图片的每一行都进行翻转,即逆序。 例如,水平翻转 [1,1,0] 的结果是 [0,1,1]。 反转图片的意思是图片中的 0 全部被 1 替换, 1  ......
Leetcode 图像 0832

[Leetcode] 0830. 较大分组的位置

830. 较大分组的位置 题目描述 在一个由小写字母构成的字符串 s 中,包含由一些连续的相同字符所构成的分组。 例如,在字符串 s = "abbxxxxzyy" 中,就含有 "a", "bb", "xxxx", "z" 和 "yy" 这样的一些分组。 分组可以用区间 [start, end] 表示 ......
Leetcode 位置 0830

LeetCode每日算法2—两数相加

题目描述 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 输入:(2 -> 4 ......
算法 LeetCode

[LeetCode] 1358. Number of Substrings Containing All Three Characters 包含所有三种字符的子字符串数目

Given a string s consisting only of characters a, b and c. Return the number of substrings containing at least one occurrence of all these characters  ......

LeetCode459.重复的子字符串

题目描述 给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 示例 提交的代码 十五分钟内没想出来怎么解决,没代码:( 学习到的东西 因为个人没有想出来怎么解决,看的是Carl大神的解法,地址我放在下面: 移动匹配以及KMP解此题 然后我写一下我个人理解的地方吧,记录下个人笔记 ......
字符串 字符 LeetCode 459
共1670篇  :10/56页 首页上一页10下一页尾页