Leetcode
文章平均质量分 75
青癯
这个作者很懒,什么都没留下…
展开
-
Leetcode——树专题(持续更新)
学习目标:掌握树的常见leetcode题目学习内容:①二叉树前中后序遍历:递归与非递归都要掌握94.二叉树的中序遍历144.二叉树的前序遍历145.二叉树的后序遍历②二叉树的层序遍历:102. 二叉树的层序遍历107. 二叉树的层序遍历 II LinkedList的api(addFirst)翻转二叉树二叉树周末总结对称二叉树二叉树的最大深度二叉树的最小深度完全二叉树的节点个数平衡二叉树二叉树的所有路径二叉树周末总结二叉树中递归带着回溯左叶子之和找树左下角的原创 2022-01-11 09:47:53 · 446 阅读 · 0 评论 -
leetcode 376. 摆动序列
376. 摆动序列376. 摆动序列问题描述:如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。例如, [1, 7, 4, 9, 2, 5] 是一个 摆动序列 ,因为差值 (6, -3, 5, -7, 3) 是正负交替出现的。相反,[1, 4, 7, 2, 5] 和 [1, 7, 4, 5, 5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个原创 2021-12-14 09:47:56 · 939 阅读 · 0 评论 -
Leetcode——回溯法专题
学习目标:学习回溯法做Leetcode上的回溯法的题目,写学习笔记。学习内容:Leetcode回溯法题目汇总:题型一:排列、组合、子集相关问题提示:这部分练习可以帮助我们熟悉「回溯算法」的一些概念和通用的解题思路。解题的步骤是:先画图,再编码。去思考可以剪枝的条件, 为什么有的时候用 used 数组,有的时候设置搜索起点 begin 变量,理解状态变量设计的想法。全排列(中等)全排列 II(中等):思考为什么造成了重复,如何在搜索之前就判断这一支会产生重复;组合总和(中等)组合总和原创 2021-11-28 10:59:17 · 2598 阅读 · 0 评论 -
Leetcode—单调栈专题(java版本)
并查集专题一、介绍二、核心API1.find2.connected3.union三、不带权并查集四、推荐题目一、介绍并查集使用的是一种树型的数据结构,用于处理一些无交集(Disjoint Sets)的合并及查询问题。比如让你求两个人是否间接认识,两个地点之间是否有至少一条路径。上面的例子其实都可以抽象为联通性问题。即如果两个点联通,那么这两个点就有至少一条路径能够将其连接起来。值得注意的是,并查集只能回答“联通与否”,而不能回答诸如“具体的联通路径是什么”。如果要回答“具体的联通路径是什么”这个问原创 2021-10-05 14:06:32 · 551 阅读 · 0 评论 -
leetcode 1202. 交换字符串中的元素
1202. 交换字符串中的元素1202. 交换字符串中的元素问题描述:给你一个字符串 s,以及该字符串中的一些「索引对」数组 pairs,其中 pairs[i] = [a, b] 表示字符串中的两个索引(编号从 0 开始)。你可以任意多次交换在 pairs 中任意一对索引处的字符。返回在经过若干次交换后,s 可以变成的按字典序最小的字符串。示例 1:输入:s = "dcab", pairs = [[0,3],[1,2]]输出:"bacd"解释: 交换 s[0] 和 s[3], s = "bc原创 2021-09-25 17:06:15 · 79 阅读 · 0 评论 -
Leetcode—并查集专题(java版本)
并查集专题一、介绍二、核心API1.find2.connected3.union三、不带权并查集一、介绍并查集使用的是一种树型的数据结构,用于处理一些无交集(Disjoint Sets)的合并及查询问题。比如让你求两个人是否间接认识,两个地点之间是否有至少一条路径。上面的例子其实都可以抽象为联通性问题。即如果两个点联通,那么这两个点就有至少一条路径能够将其连接起来。值得注意的是,并查集只能回答“联通与否”,而不能回答诸如“具体的联通路径是什么”。如果要回答“具体的联通路径是什么”这个问题,则需要借原创 2021-09-14 10:12:59 · 496 阅读 · 0 评论 -
Leetcode—链表专题(java版本)
链表专题一、链表简介链表的基操一、链表简介各种数据结构,不管是队列,栈等线性数据结构还是树,图的等非线性数据结构,从根本上底层都是数组和链表。不管你用的是数组还是链表,用的都是计算机内存,物理内存是一个个大小相同的内存单元构成的,如图:而数组和链表里的数据虽然用的都是物理内存,都是两者在对物理内存的使用上是非常不一样的,如图:数组是连续的内存空间,通常每一个单位的大小也是固定的,因此可以按下标随机访问。而链表则不一定连续,因此其查找只能依靠别的方式,一般我们是通过一个叫 next 指针来遍历查找转载 2021-09-13 15:03:07 · 354 阅读 · 0 评论 -
leetcode 461. 汉明距离
461. 汉明距离题目链接问题描述:两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给你两个整数 x 和 y,计算并返回它们之间的汉明距离。示例 1:输入:x = 1, y = 4输出:2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。示例2:输入:x = 3, y = 1输出:1提示:0 <= x, y <= 2^31 - 1题目分析:题解:...原创 2021-07-07 10:35:42 · 66 阅读 · 0 评论 -
Leetcode-338. 比特位计数
Leetcode-338. 比特位计数前言问题描述题目分析常规题解高级题解参考前言这是一道涉及位运算的题目,读者对位运算不是很熟悉或者有遗忘的话,可以看一下这篇文章,方便理解。java位运算详解:https://blog.csdn.net/qq_42265220/article/details/118386893?spm=1001.2014.3001.5501问题描述给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。原创 2021-07-06 11:10:38 · 88 阅读 · 0 评论 -
Leetcode-191.位1的个数
Leetcode-191.位1的个数前言问题描述题目分析题解前言这是一道涉及位运算的题目,读者对位运算不是很熟悉或者有遗忘的话,可以看一下这篇文章,方便理解。java位运算详解:https://blog.csdn.net/qq_42265220/article/details/118386893?spm=1001.2014.3001.5501问题描述编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。提示:请注意,在某些语原创 2021-07-05 21:30:41 · 66 阅读 · 0 评论