LeetCode
文章平均质量分 92
独一无二的哈密瓜
感谢大家支持
展开
-
每日刷题记录 (三十一)
换句话说,战舰只能按1xk(1行,k列)或kx1(k行,1列)的形状建造,其中k可以是任意大小。给你一个大小为mxn的矩阵board表示甲板,其中,每个单元格可以是一艘战舰‘X’或者是一个空位‘.’,返回在甲板board上放置的。是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。给你一个含重复值的二叉搜索树(BST)的根节点root,找出并返回BST中的所有众数(即,出现频率最高的元素)。...原创 2022-07-22 12:48:45 · 2158 阅读 · 0 评论 -
每日刷题记录 (三十)
的整数数组nums,请你随机输出给定的目标数字target的索引。你可以假设给定的数字一定存在于数组中。给定一个字符串s,根据字符出现的频率对其进行降序排序。一个字符出现的频率是它出现在字符串中的次数。对整数的二进制表示取反(0变1,1变0)后,再转换为十进制表示,可以得到这个整数的补数。返回已排序的字符串。如果有多个答案,返回其中任何一个。给定一个长度为n的整数数组nums。返回n变为1所需的最小替换次数。给你一个整数num,输出它的补数。...原创 2022-07-21 14:42:02 · 1906 阅读 · 11 评论 -
每日刷题记录 (二十九)
LeetCode: 781. 森林中的兔子描述:森林中有未知数量的兔子。提问其中若干只兔子 “还有多少只兔子与你(指被提问的兔子)颜色相同?” ,将答案收集到一个整数数组 中,其中 是第 i 只兔子的回答。给你数组 ,返回森林中兔子的最少数量。第二题: 783. 二叉搜索树节点最小距离LeetCode: 783. 二叉搜索树节点最小距离描述:给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。差值是一个正数,其数值等于两值之差的绝对值。第三题: 804.原创 2022-07-20 13:41:54 · 706 阅读 · 3 评论 -
每日刷题记录 (二十八)
部分排序的列表(黑色)最初只包含列表中的第一个元素。每次迭代时,从输入数据中删除一个元素(红色),并就地插入已排序的列表中。填充它的每个next指针,让这个指针指向其下一个右侧节点。给你一个头结点为head的单链表和一个整数k,请你设计一个算法将链表分隔为k个连续的部分。每部分的长度应该尽可能的相等任意两部分的长度差距不能超过1。这k个部分应该按照在链表中出现的顺序排列,并且排在前面的部分的长度应该大于或等于排在后面的长度。对链表进行排序,并返回排序后链表的头。...原创 2022-07-19 16:17:13 · 441 阅读 · 4 评论 -
每日刷题记录 (二十七)
请你使用num中的数位,将num拆成两个新的整数new1和new2。对于每两个相邻的0,请你将它们之间的所有节点合并成一个节点,其值是所有已合并节点的值之和。一个数组的异或总和定义为数组中所有元素按位XOR的结果;数组a是数组b的一个子集的前提条件是从b删除几个(也可能不删除)元素能够得到a。给你一个链表的头节点head,该链表包含由0分隔开的一连串整数。请你返回可以得到的new1和new2的最小和。个孩子拥有的糖果数目。...原创 2022-07-18 16:05:23 · 2369 阅读 · 9 评论 -
每日刷题记录 (二十六)
给你一个字符串word。子序列定义为不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。给定一个包含大写字母和小写字母的字符串s,返回通过这些字母构造成的。给定一个非空的字符串s,检查是否可以通过由它的一个子串重复多次构成。给你一个字符串s,找出其中最长的回文子序列,并返回该序列的长度。位数字,使得剩下的数字最小。请你以字符串形式返回这个最小的数字。中的每个非空单词之间存在着双向连接的对应规律。给你一个以字符串表示的非负整数。是否遵循相同的规律。...原创 2022-07-17 12:54:14 · 940 阅读 · 3 评论 -
哈希表相关知识
哈希冲突如果两个对象通过相同的哈希函数计算出相同的HashCode相同,这种现象称为hash冲突.①开放定址法当发生哈希冲突时,如果哈希表未被装满,说明在哈希表中必然还有空位置,那么可以把把key存放到冲突位置的"下一个位置"去②链地址法对于相同的值,使用链表进行链接.使用数组存在每一个链表.③再hash法通过某个hash函数计算的key存在冲突的时候,再用另外的hash函数对这个key做hash,一致运算直到不再产生冲突.④建立公共溢出区。......原创 2022-07-17 16:56:06 · 1614 阅读 · 29 评论 -
每日刷题记录 (二十五)
在一个整数数组中,“峰”是大于或等于相邻整数的元素,相应地,“谷”是小于或等于相邻整数的元素。例如,在数组{5,8,4,2,3,4,6}中,{8,6}是峰,{5,2}是谷。实现一个方法,把二叉搜索树转换为单向链表,要求依然符合二叉搜索树的性质,转换操作应是原址的,也就是在原始的二叉搜索树上直接修改。给定一个包含正整数、加(+)、减(-)、乘(*)、除(/)的算数表达式(括号除外),计算其结果。在整数数组中,如果一个整数的出现频次和它的数值大小相等,我们就称这个整数为「幸运数」。...原创 2022-07-16 10:55:48 · 406 阅读 · 8 评论 -
每日刷题记录 (二十四)
是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次。可以证明,按任意顺序为每步操作选择下标都会得到相同的结果。只要可以选出满足条件的下标,就一直执行这个操作。在一步操作中,需要选出任一下标。给你一个下标从0开始的数组。请你返回执行完所有操作后的数组。个操作中,你需要将数字。,请你返回一个长度为。两个列表中的值都应该按。,从words中。在执行所有操作后,返回。列表中的整数可以按。由小写英文字符组成。...原创 2022-07-15 11:07:22 · 1098 阅读 · 4 评论 -
每日刷题记录 (二十三)
LeetCode: 205. 同构字符串描述:给定两个字符串 s 和 t ,判断它们是否是同构的。如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。第二题: 216. 组合总和 IIILeetCode: 216. 组合总和 III描述:找出所有相加之和为 n 的 k 个数的组合,且满足下列条件:返回 所有可能的有效组合的列表原创 2022-07-14 10:55:45 · 319 阅读 · 8 评论 -
每日刷题记录 (二十二)
LeetCode: 109. 有序链表转换二叉搜索树描述:给定一个单链表的头节点 ,其中的元素 按升序排序 ,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差不超过 1。第二题: 112. 路径总和LeetCode: 112. 路径总和描述:给你二叉树的根节点 和一个表示目标和的整数 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 。如果存在,返回 ;否则,返回 。叶子节点 是指没有子节点的原创 2022-07-13 10:49:45 · 296 阅读 · 1 评论 -
每日刷题记录(二十一)
LeetCode: 17. 电话号码的字母组合描述:给定一个仅包含数字 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。第二题: 108. 将有序数组转换为二叉搜索树LeetCode: 108. 将有序数组转换为二叉搜索树描述:给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的原创 2022-07-12 20:18:47 · 526 阅读 · 0 评论 -
每日刷题记录 (二十)
LeetCode: 16. 最接近的三数之和描述:给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在恰好一个解。第二题: 43. 字符串相乘LeetCode: 43. 字符串相乘描述:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。注意:不能使用任何内置的 BigInteger 库或直接将输入原创 2022-07-11 12:13:27 · 2869 阅读 · 7 评论 -
每日刷题记录 (十九)
LeetCode: 剑指 Offer 12. 矩阵中的路径描述:给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。例如,在下面的 3×4 的矩阵中包含单词 “ABCCED”(单词中的字母已标出)。第二题: 279. 完全平方数LeetCode: 279. 完原创 2022-07-10 15:11:31 · 638 阅读 · 9 评论 -
每日刷题记录 (十八)
LeetCode: 剑指 Offer 13. 机器人的运动范围描述:地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达多少个格子?第二题: 剑指 Offer 1原创 2022-07-09 15:43:01 · 777 阅读 · 4 评论 -
每日刷题记录 (十七)
LeetCode: 剑指 Offer 33. 二叉搜索树的后序遍历序列描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。第二题: 剑指 Offer 34. 二叉树中和为某一值的路径LeetCode: 剑指 Offer 34. 二叉树中和为某一值的路径描述:给你二叉树的根节点 和一个整数目标和 ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。叶子节点 是指没有子节点的节点。第三原创 2022-07-08 17:04:06 · 912 阅读 · 20 评论 -
每日刷题记录 (十六)
LeetCode: 剑指 Offer 46. 把数字翻译成字符串描述:给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。第二题: 剑指 Offer 47. 礼物的最大价值LeetCode: 剑指 Offer 47. 礼物的最大价值描述:在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你原创 2022-07-07 10:09:42 · 496 阅读 · 13 评论 -
每日刷题记录 (十五)
LeetCode: 剑指 Offer 57. 和为s的两个数字添加链接描述描述:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。第二题: 剑指 Offer 57 - II. 和为s的连续正数序列LeetCode: 剑指 Offer 57 - II. 和为s的连续正数序列描述:输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到原创 2022-07-06 15:38:36 · 8999 阅读 · 12 评论 -
每日刷题记录 (十四)
LeetCode: 剑指 Offer 62. 圆圈中最后剩下的数字描述:0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。第二题: 剑指 Offer 63. 股票的最大利润LeetCode: 剑指 Offer 63. 股票的最大利润描述:假设把某股票的原创 2022-07-05 16:02:33 · 481 阅读 · 7 评论 -
每日刷题记录 (十三)
LeetCode: 剑指 Offer II 015. 字符串中的所有变位词描述:给定两个字符串 s 和 p,找到 s 中所有 p 的 变位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。变位词 指字母相同,但排列不同的字符串。第二题: 剑指 Offer II 025. 链表中的两数相加LeetCode: 剑指 Offer II 025. 链表中的两数相加描述:给定两个 非空链表 l1和 l2 来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返原创 2022-07-04 16:00:46 · 2314 阅读 · 7 评论 -
每日刷题记录 (十二)
LeetCode: 剑指 Offer II 012. 左右两边子数组的和相等描述:给你一个整数数组 nums ,请计算数组的 中心下标 。数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。如果数组有多个中心下标,应该返回 最靠近左边 的那一个。如果数组不存在中心下标,返回 -1 。第二题: 剑指 Offer II 014. 字符串中的变位词Le原创 2022-07-03 22:18:41 · 347 阅读 · 27 评论 -
每日刷题记录 (十一)
LeetCode: 剑指 Offer II 005. 单词长度的最大乘积描述:给定一个字符串数组 words,请计算当两个字符串 words[i] 和 words[j] 不包含相同字符时,它们长度的乘积的最大值。假设字符串中只包含英语的小写字母。如果没有不包含相同字符的一对字符串,返回 0。第二题: 剑指 Offer II 007. 数组中和为 0 的三个数LeetCode: 剑指 Offer II 007. 数组中和为 0 的三个数描述:给定一个包含 n 个整数的数组 nums,判断 nums原创 2022-07-02 21:22:31 · 326 阅读 · 6 评论 -
每日刷题记录 (十)
LeetCode: 剑指 Offer II 072. 求平方根描述:给定一个非负整数 x ,计算并返回 x 的平方根,即实现 int sqrt(int x) 函数。正数的平方根有两个,只输出其中的正数平方根。如果平方根不是整数,输出只保留整数的部分,小数部分将被舍去。第二题: 剑指 Offer II 074. 合并区间LeetCode: 剑指 Offer II 074. 合并区间描述:以数组 intervals 表示若干个区间的集合,其中单个区间为 。请你合并所有重叠的区间,并返回一个不重叠的区间原创 2022-07-01 13:52:02 · 1798 阅读 · 13 评论 -
每日刷题记录 (九)
LeetCode: 剑指 Offer II 060. 出现频率最高的 k 个数字描述:给定一个整数数组 nums 和一个整数 k ,请返回其中出现频率前 k 高的元素。可以按 任意顺序 返回答案。第二题: 剑指 Offer II 061. 和最小的 k 个数对LeetCode: 剑指 Offer II 061. 和最小的 k 个数对描述:给定两个以升序排列的整数数组 和 , 以及一个整数 。定义一对值 ,其中第一个元素来自 ,第二个元素来自 。请找到和最小的 k 个数对 第三题:原创 2022-06-30 09:59:01 · 992 阅读 · 8 评论 -
每日刷题记录 (八)
LeetCode: 剑指 Offer II 052. 展平二叉搜索树描述:给你一棵二叉搜索树,请 按中序遍历 将其重新排列为一棵递增顺序搜索树,使树中最左边的节点成为树的根节点,并且每个节点没有左子节点,只有一个右子节点。第二题: 剑指 Offer II 053. 二叉搜索树中的中序后继LeetCode: 剑指 Offer II 053. 二叉搜索树中的中序后继描述:给定一棵二叉搜索树和其中的一个节点 ,找到该节点在树中的中序后继。如果节点没有中序后继,请返回 。节点 的后继是值比原创 2022-06-29 10:23:17 · 972 阅读 · 9 评论 -
每日刷题记录 (七)
LeetCode: 剑指 Offer II 043. 往完全二叉树添加节点描述:完全二叉树是每一层(除最后一层外)都是完全填充(即,节点数达到最大,第 n 层有 2n-1 个节点)的,并且所有的节点都尽可能地集中在左侧。设计一个用完全二叉树初始化的数据结构 ,它支持以下几种操作:第二题: 剑指 Offer II 044. 二叉树每层的最大值LeetCode: 剑指 Offer II 044. 二叉树每层的最大值描述:给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。第三题原创 2022-06-28 14:39:06 · 573 阅读 · 5 评论 -
每日刷题记录 (六)
LeetCode: 剑指 Offer II 079. 所有子集描述:给定一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。第二题: 剑指 Offer II 080. 含有 k 个元素的组合LeetCode: 剑指 Offer II 080. 含有 k 个元素的组合描述:给定两个整数 n 和 k,返回 中所有可能的 k 个数的组合。第三题: 剑指 Offer II 081. 允许重复选择元素的组原创 2022-06-27 10:19:53 · 1667 阅读 · 9 评论 -
每日刷题记录 (五)
LeetCode: 剑指 Offer II 119. 最长连续序列描述:给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。第二题: 最少的硬币数目LeetCode: 剑指 Offer II 103. 最少的硬币数目描述:给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。第三题: 爬楼梯的最少成本原创 2022-06-26 12:30:57 · 333 阅读 · 9 评论 -
每日刷题记录 (四)
LeetCode: 面试题 01.08. 零矩阵描述:编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。第二题: 合法二叉搜索树LeetCode: 面试题 04.05. 合法二叉搜索树描述:实现一个函数,检查一棵二叉树是否为二叉搜索树。第三题: 特定深度节点链表LeetCode: 面试题 04.03. 特定深度节点链表描述:给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为 D,则会创建出 D 个链表)。返回一个包含所有深度的链表原创 2022-06-25 12:53:46 · 542 阅读 · 4 评论 -
每日刷题记录 (三)
LeetCode: 面试题 08.09. 括号描述:括号。设计一种算法,打印n对括号的所有合法的(例如,开闭一一对应)组合。说明:解集不能包含重复的子集。例如,给出 n = 3,生成结果为:第二题: 硬币LeetCode: 面试题 08.11. 硬币描述:硬币。给定数量不限的硬币,币值为25分、10分、5分和1分,编写代码计算n分有几种表示法。(结果可能会很大,你需要将结果模上1000000007)第三题: 变位词组LeetCode: 面试题 10.02. 变位词组描述:编写一种方原创 2022-06-24 15:11:01 · 555 阅读 · 2 评论 -
每日刷题记录 (二)
LeetCode: 面试题 05.02. 二进制数转字符串描述:二进制数转字符串。给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字无法精确地用32位以内的二进制表示,则打印“ERROR”。第二题: 配对交换LeetCode: 面试题 05.07. 配对交换描述:配对交换。编写程序,交换某个整数的奇数位和偶数位,尽量使用较少的指令(也就是说,位0与位1交换,位2与位3交换,以此类推)。第三题: 整数转换LeetCode: 面试题 05.06原创 2022-06-23 15:15:41 · 676 阅读 · 11 评论 -
每日刷题记录 (一)
LeetCode 面试题 17.16. 按摩师描述:一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。第二题: 主要元素LeetCode 面试题 17.10. 主要元素描述:数组中占比超过一半的元素称之为主要元素。给你一个 整数 数组,找出其中的主要元素。若没有,返回 -1 。请设计时间复杂度为 O(N) 、空间复杂度为 O(1) 的解决原创 2022-06-22 15:28:28 · 1369 阅读 · 13 评论 -
LeetCode刷题 --- 回溯算法(二)
文章目录第一题: 组合解题思路:代码实现:第二题: 组合总和 Ⅱ解题思路:代码实现:第三题: 全排列 Ⅱ解题思路:代码实现:第四题: 子集解题思路:代码实现:第五题: 子集 Ⅱ解题思路:代码实现:第一题: 组合LeetCode 77: 组合描述 :给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。解题思路:代码实现:class Solution { List<List<Integer>> resu原创 2022-05-13 16:20:13 · 2606 阅读 · 5 评论 -
LeetCode刷题 --- 回溯算法(一)
文章目录回溯模板第一题: 组合总数解题思路:代码实现:第二题: 分割回文串解题思路:代码实现:第三题: 全排列解题思路:代码实现:回溯模板void backtrack(路径, 选择列表) { if(终止条件) { 收集结果; return; } for(遍历){ 处理结果; backtrack(); 撤销结果; } return;}第一题: 组合总数LeetCode 39 : 组合总数描述 :给你一个 无重复元素 的整数数组 candidates 和一个目标整数原创 2022-05-10 18:13:56 · 700 阅读 · 12 评论 -
Dynamic Programming --- 动态规划刷题(一)
Leet Code 322: 零钱兑换描述:给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。你可以认为每种硬币的数量是无限的...原创 2022-04-30 18:53:54 · 522 阅读 · 21 评论 -
贪心算法 --- LeetCode刷题
第一题:分发饼干LeetCode 455 : 分发饼干描述:假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j分配给孩子 i,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。...原创 2022-04-08 17:59:47 · 2745 阅读 · 21 评论 -
LeetCode 二叉树相关Easy题 --- 二叉树
文章目录第一题: 合并二叉树解题思路:画图解析:代码实现:第二题: 二叉树的层平均值解题思路:画图解析:代码实现:第三题: 二叉树中第二小的节点解题思路:画图解析:代码实现:第四题: 叶子相似的树解题思路:代码实现:第一题: 合并二叉树LeetCode 617 : 合并二叉树描述:给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直原创 2022-01-16 16:25:08 · 981 阅读 · 21 评论 -
LeetCode 堆(优先级队列) 相关题目
文章目录第一题: 第 K 个最小的素数分数解题思路:代码实现:第二题: 数据流中的第 K 大元素解题思路:代码实现:第三题: 前 K 个高频元素解题思路:代码实现:第一题: 第 K 个最小的素数分数LeetCode 786 : 第 K 个最小的素数分数描述:给你一个按递增顺序排序的数组 arr 和一个整数 k 。数组 arr 由 1 和若干 素数 组成,且其中所有整数互不相同。对于每对满足 0 <= i < j < arr.length 的 i 和 j ,可以得到分数 arr[原创 2022-01-05 15:26:36 · 957 阅读 · 22 评论 -
LeetCode 二叉树 堆(优先级队列) 相关题目
文章目录LeeCode刷题笔记第一题:左叶子之和解题思路:画图解析:代码实现:第二题:数组中的第K个最大元素解题思路:代码实现:第三题:滑动窗口最大值解题思路:画图解析:LeeCode刷题笔记第一题:左叶子之和左叶子之和4描述:计算给定二叉树的所有左叶子之和。解题思路:情况1: root为空 直接返回0;情况2: 左子树只有一个节点,即左叶子节点,然后去遍历右子树找右子树的左叶子.情况3: 左子树需遍历到左叶子,右子树需要遍历到左叶子.画图解析:代码实现:class S原创 2021-12-30 19:19:22 · 1083 阅读 · 26 评论 -
LeetCode114 二叉树展开为链表 ---二叉树题 三种解法 (递归) (迭代) (前驱节点)
二叉树展开为链表LeetCode 114 : 二叉树展开为链表描述:给你二叉树的根结点 root ,请你将它展开为一个单链表:展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。解法一 : 递归解法解题思路:使用前序遍历的方法 添加到list当中,然后遍历list,让i下标节点的左子树为空,右子树指向i+1下标的节点....原创 2021-12-27 16:00:09 · 1769 阅读 · 23 评论