leetcode tarjan 341 lca
【11月LeetCode组队打卡】Task1--HashTable
217.存在重复元素 vector 向量的用法有点忘了,先简单回顾一下 (其实是好久没写cpp了(安详.jpg 输入与输出 //未知数组元素个数 vector<int> hash; int x; while(cin>>x){ hash.push_back(x); //遇到回车就停止输入 if(cin ......
Tarjan
只存代码 T1 并查集 #include<bits/stdc++.h> using namespace std; int f[200001],a,e[200001]; int fin(int x) { if(f[x]!=x) { int last=f[x]; f[x]=fin(f[x]); e[x] ......
LeetCode 刷题
LeetCode 刷题 577. 员工奖金【左连接: A left join B on...】 左连接后是一个新的表,后可以 + where 语句 # Write your MySQL query statement below select name, bonus from Employee le ......
[LeetCode] 2785. Sort Vowels in a String
Given a 0-indexed string s, permute s to get a new string t such that: All consonants remain in their original places. More formally, if there is an i ......
[LeetCode] 1334. Find the City With the Smallest Number of Neighbors at a Threshold Distance
There are n cities numbered from 0 to n-1. Given the array edges where edges[i] = [fromi, toi, weighti] represents a bidirectional and weighted edge b ......
【题解 P4211】 LCA
[LNOI2014] LCA 题目描述 给出一个 \(n\) 个节点的有根树(编号为 \(0\) 到 \(n-1\),根节点为 \(0\) )。 一个点的深度定义为这个节点到根的距离 \(+1\)。 设 \(dep[i]\) 表示点 \(i\) 的深度,\(\operatorname{LCA}(i, ......
[Leetcode] 0836. 矩形重叠
836. 矩形重叠 English Version 题目描述 矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标。矩形的上下边平行于 x 轴,左右边平行于 y 轴。 如果相交的面积为 正 ,则称两矩形重叠。需要明确的是, ......
LeetCode 第 115 场双周赛
2899. 上一个遍历的整数 感觉读题比较困难 class Solution { public: vector<int> lastVisitedIntegers(vector<string>& words) { vector<int> res , a ; for( int i = 0 , cnt = ......
LeetCode -- 第 371 场周赛(哈希表,tire字典树)
class Solution { public: vector<string> findHighAccessEmployees(vector<vector<string>>& access_times) { int n = access_times.size(); vector<string> re ......
leetcode hot100-02 字母异位词分组
题目:字母异位词分组 难度:中等 地址:https://leetcode.cn/classic/problems/group-anagrams/description/ 描述:给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。字母异位词 是由重新排列源单词的所有字母得到 ......
leetcode hot 100-01 两数之和
题目:两数之和 难度:简单 题目地址:https://leetcode.cn/classic/problems/two-sum/description/ 过程一,因为难度是简单,就没有仔细审题,以为返回两个数就好,使用双指针,逻辑如下: 对数组排序 双指针分别指向头和尾 两数之和大于target,尾 ......
Tarjan
本质 对于一部分问题,可以得出位于同一个边双、点双、强连通以内的节点有共同的性质。Tarjan 提供了一个在 \(O(n+m)\) 的优秀复杂度内把图转化成更特殊问题的方法。 对于有向图,可以获得一个 DAG。这种问题就可以转化成使用 DP、可合并数据结构(如线段树合并、可并堆 \(\dots\)) ......
[LeetCode] 1360. Number of Days Between Two Dates 日期之间隔几天
Write a program to count the number of days between two dates. The two dates are given as strings, their format is YYYY-MM-DD as shown in the examples ......
CF1304E 1-Trees and Queries(lca+树上前缀和+奇偶性)
题目 二话不说,直接按题意模拟暴搜,当然 \(O(nq)\) 的复杂度显然是寄了的。 不过,在模拟的过程中,我在链式前向星的删边中居然一开始错了,还是要 mark 一下以后注意。 void del(int x, int pre) { e[top].to = e[top].next = 0; h[x] ......
Leetcode133.克隆图
需要注意图中存在环路。 JAVA: public final Node cloneGraph(Node node) { return deepCopy(node, new HashMap<Integer, Node>()); } private Node deepCopy(Node node, Ha ......
LeetCode450.删除二叉搜索树中的节点
题目描述 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。 一般来说,删除节点可分为两个步骤: 首先找到需要删除的节点; 如果找到了,删除它。 说明: 要求算法时间复杂度为 $O ......
Memo Pack and LeetCode 3
Memo Pack Source code: git.suckless.org/sbase I don't know if it's the standard implementation for Linux bash command, but it's a good material. An ex ......
Leetcode108. 将有序数组转换为二叉搜索树
因为数组是有序的,可以递归的选取根节点构建子树。 JAVA: public final TreeNode sortedArrayToBST(int[] nums) { if (null == nums) return null; return this.build(nums, 0, nums.len ......
LeetCode #1131 Maximum of Absolute Value Expression 绝对值表达式的最大值
安装Flutter环境首先配置flutter3开发环境,照着官方教程傻瓜式安装即可。>>安装和环境配置 | Flutter 中文文档 | Flutter 中文开发者网站注意在国内网络环境下需要进行一些额外的环境配置:>>在中国网络环境下使用 Flutter | Flutter 中文文档 | Flut ......
LeetCode_0042. 接雨水
题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 示例 1: 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图, ......
leetcode322题解
今天来解析一下一道中等的leetcode题,题目如下: 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的。 示例 1 ......
[LeetCode] 2849. Determine if a Cell Is Reachable at a Given Time
You are given four integers sx, sy, fx, fy, and a non-negative integer t. In an infinite 2D grid, you start at the cell (sx, sy). Each second, you mus ......
Tarjan 学习笔记
萌新刚学Tarjan,啥也不会,肯定一堆错,请大佬指正谢谢 前置 强连通 强连通: 在不是强连通图的有向图\(G\)内,其顶点\(u\),\(v\)两个方向上都存在有向路径,则\(u\)和\(v\)强连通 强连通图: 对于有向图 \(G\) ,若\(G\)中任意两个结点连通,则称有向图\(G\)强连 ......
[LeetCode] 2609. Find the Longest Balanced Substring of a Binary String
You are given a binary string s consisting only of zeroes and ones. A substring of s is considered balanced if all zeroes are before ones and the numb ......
LeetCode106. 从中序与后序遍历序列构造二叉树
题目描述 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 提交的代码 思路: 轻喷,这种还是手写方便。 中序:左中右 后序:左右中 看我上面画的屎图,整棵树的根节点 ......
LeetCode每日算法3—无重复字符的最长子串
题目描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 解题思路 这个题目可以使用双指针+map来实现: 首先用双指针维护一个滑动窗口用来剪切子串 开始时, ......
LeetCode222.完全二叉树的节点个数
题目描述 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。 示例 提交的代码 你被 ......
[Leetcode] 0119. 杨辉三角 II
119. 杨辉三角 II 题目描述 给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: rowIndex = 3 输出: [1,3,3,1] 示例 2: 输入: rowIndex = 0 输出: ......
[Leetcode] 0118. 杨辉三角
118. 杨辉三角 题目描述 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows = 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 示 ......
[Leetcode] 0112. 路径总和
112. 路径总和 题目描述 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。 叶子节点 是指没有子节点的节点。 ......