LeetCode
文章平均质量分 84
LeetCode每日一题,包括思路解析以及代码实现等
IronmanJay
十年饮冰,难凉热血。
展开
-
【LeetCode每日一题】——1863.找出所有子集的异或总和再求和
一个数组的 异或总和 定义为数组中所有元素按位 XOR 的结果;如果数组为 空 ,则异或总和为 0 。例如,数组 [2,5,6] 的 异或总和 为 2 XOR 5 XOR 6 = 1 。给你一个数组 nums ,请你求出 nums 中每个 子集 的 异或总和 ,计算并返回这些值相加之 和 。注意:在本题中,元素 相同 的不同子集应 多次 计数。数组 a 是数组 b 的一个 子集 的前提条件是:从 b 删除几个(也可能不删除)元素能够得到 a 。原创 2024-09-21 14:14:39 · 559 阅读 · 0 评论 -
【LeetCode每日一题】——401.二进制手表
二进制手表顶部有 4 个 LED 代表 小时(0-11),底部的 6 个 LED 代表 分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。例如,下面的二进制手表读取 "4:51" 。给你一个整数 turnedOn ,表示当前亮着的 LED 的数量,返回二进制手表可以表示的所有可能时间。你可以 按任意顺序 返回答案。小时不会以零开头:例如,"01:00" 是无效的时间,正确的写法应该是 "1:00" 。原创 2024-09-19 10:26:50 · 796 阅读 · 0 评论 -
【LeetCode每日一题】——LCR 078.合并 K 个升序链表
给定一个链表数组,每个链表都已经按升序排列。请将所有链表合并到一个升序链表中,返回合并后的链表。原创 2024-09-14 15:22:43 · 708 阅读 · 0 评论 -
【LeetCode每日一题】——912.排序数组
给你一个整数数组 nums,请你将该数组升序排列。原创 2024-09-11 10:44:39 · 701 阅读 · 0 评论 -
【LeetCode每日一题】——LCR 168.丑数
给你一个整数 n ,请你找出并返回第 n 个 丑数 。说明:丑数是只包含质因数 2、3 和/或 5 的正整数;1 是丑数。原创 2024-09-09 12:43:01 · 719 阅读 · 0 评论 -
【LeetCode每日一题】——2500.删除每行中的最大值
给你一个 m x n 大小的矩阵 grid ,由若干正整数组成。执行下述操作,直到 grid 变为空矩阵:从每一行删除值最大的元素。如果存在多个这样的值,删除其中任何一个。将删除元素中的最大值与答案相加。注意 每执行一次操作,矩阵中列的数据就会减 1 。返回执行上述操作后的答案。原创 2024-09-03 22:40:02 · 867 阅读 · 0 评论 -
【LeetCode每日一题】——1464.数组中两元素的最大乘积
给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值。请你计算并返回该式的最大值。原创 2024-09-01 22:59:00 · 592 阅读 · 1 评论 -
【LeetCode每日一题】——1046.最后一块石头的重量
有一堆石头,每块石头的重量都是正整数。每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x原创 2024-08-22 10:48:44 · 1085 阅读 · 0 评论 -
【LeetCode每日一题】——301.删除无效的括号
给你一个由若干括号和字母组成的字符串 s ,删除最小数量的无效括号,使得输入的字符串有效。返回所有可能的结果。答案可以按 任意顺序 返回。原创 2024-08-20 22:01:24 · 962 阅读 · 0 评论 -
【LeetCode每日一题】——662.二叉树最大宽度
给你一棵二叉树的根节点 root ,返回树的 最大宽度 。树的 最大宽度 是所有层中最大的 宽度 。每一层的 宽度 被定义为该层最左和最右的非空节点(即,两个端点)之间的长度。将这个二叉树视作与满二叉树结构相同,两端点间会出现一些延伸到这一层的 null 节点,这些 null 节点也计入长度。题目数据保证答案将会在 32 位 带符号整数范围内。原创 2024-08-16 11:04:03 · 1126 阅读 · 0 评论 -
【LeetCode每日一题】——623.在二叉树中增加一行
给定一个二叉树的根 root 和两个整数 val 和 depth ,在给定的深度 depth 处添加一个值为 val 的节点行。注意,根节点 root 位于深度 1 。加法规则如下:给定整数 depth,对于深度为 depth - 1 的每个非空树节点 cur ,创建两个值为 val 的树节点作为 cur 的左子树根和右子树根。cur 原来的左子树应该是新的左子树根的左子树。cur 原来的右子树应该是新的右子树根的右子树。如果 depth == 1 意味着 depth - 1 根本没有深度原创 2024-08-14 11:22:43 · 1251 阅读 · 0 评论 -
【LeetCode每日一题】——面试题 08.10. 颜色填充
编写函数,实现许多图片编辑软件都支持的「颜色填充」功能。待填充的图像用二维数组 `image` 表示,元素为初始颜色值。初始坐标点的行坐标为 `sr` 列坐标为 `sc`。需要填充的新颜色为 `newColor` 。「周围区域」是指颜色相同且在上、下、左、右四个方向上存在相连情况的若干元素。请用新颜色填充初始坐标点的周围区域,并返回填充后的图像。原创 2024-08-13 16:43:09 · 876 阅读 · 0 评论 -
【LeetCode每日一题】——1235.规划兼职工作
你打算利用空闲时间来做兼职工作赚些零花钱。这里有 n 份兼职工作,每份工作预计从 startTime[i] 开始到 endTime[i] 结束,报酬为 profit[i]。给你一份兼职工作表,包含开始时间 startTime,结束时间 endTime 和预计报酬 profit 三个数组,请你计算并返回可以获得的最大报酬。注意,时间上出现重叠的 2 份工作不能同时进行。如果你选择的工作在时间 X 结束,那么你可以立刻进行在时间 X 开始的下一份工作。原创 2024-08-11 15:53:10 · 927 阅读 · 0 评论 -
【LeetCode每日一题】——653.两数之和 IV - 输入二叉搜索树
给定一个二叉搜索树root和一个目标结果k,如果二叉搜索树中存在两个元素且它们的和等于给定的目标结果,则返回true。原创 2024-08-07 21:34:59 · 760 阅读 · 0 评论 -
【LeetCode每日一题】——1379.找出克隆二叉树中的相同节点
给你两棵二叉树,原始树 original 和克隆树 cloned,以及一个位于原始树 original 中的目标节点 target。其中,克隆树 cloned 是原始树 original 的一个 副本 。请找出在树 cloned 中,与 target 相同 的节点,并返回对该节点的引用(在 C/C++ 等有指针的语言中返回 节点指针,其他语言返回节点本身)。原创 2023-10-24 11:19:37 · 375 阅读 · 0 评论 -
【LeetCode每日一题】——面试题10.11.峰与谷
在一个整数数组中,“峰”是大于或等于相邻整数的元素,相应地,“谷”是小于或等于相邻整数的元素。例如,在数组{5, 8, 4, 2, 3, 4, 6}中,{8, 6}是峰, {5, 2}是谷。现在给定一个整数数组,将该数组按峰与谷的交替顺序排序。原创 2023-09-15 14:44:55 · 574 阅读 · 0 评论 -
【LeetCode每日一题】——274.H指数
给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。根据维基百科上 [h 指数的定义](https://baike.baidu.com/item/H%E6%8C%87%E6%95%B0/9951340?fr=aladdin&fromtitle=h-index&fromid=3991452):h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她)至少发表了 h 篇论文,并且每篇论文 至少 被引用 h原创 2023-08-30 12:31:49 · 575 阅读 · 0 评论 -
【LeetCode每日一题】——1365.有多少小于当前数字的数字
给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。以数组形式返回答案。原创 2023-08-29 11:14:25 · 409 阅读 · 0 评论 -
【LeetCode每日一题】——1331.数组序号转换
给你一个整数数组 arr ,请你将数组中的每个元素替换为它们排序后的序号。序号代表了一个元素有多大。序号编号的规则如下: 序号从 1 开始编号。 一个元素越大,那么序号越大。如果两个元素相等,那么它们的序号相同。 每个数字的序号都应该尽可能地小。原创 2023-08-16 13:51:39 · 535 阅读 · 1 评论 -
【LeetCode每日一题】——628.三个数的最大乘积
给你一个整型数组 nums ,在数组中找出由三个数组成的最大乘积,并输出这个乘积。原创 2023-08-15 11:22:45 · 436 阅读 · 0 评论 -
【LeetCode每日一题】——41.缺失的第一个正数
给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。原创 2023-08-14 15:50:27 · 435 阅读 · 0 评论 -
【LeetCode每日一题】——454.四数相加II
给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0原创 2023-08-13 23:42:35 · 377 阅读 · 0 评论 -
【LeetCode每日一题】——128.最长连续序列
给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。原创 2023-08-11 14:34:08 · 384 阅读 · 0 评论 -
【LeetCode每日一题】——205.同构字符串
给定两个字符串 s 和 t ,判断它们是否是同构的。如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。原创 2023-08-10 14:33:50 · 302 阅读 · 0 评论 -
【LeetCode每日一题】——575.分糖果
Alice 有 n 枚糖,其中第 i 枚糖的类型为 candyType[i] 。Alice 注意到她的体重正在增长,所以前去拜访了一位医生。医生建议 Alice 要少摄入糖分,只吃掉她所有糖的 n / 2 即可(n 是一个偶数)。Alice 非常喜欢这些糖,她想要在遵循医生建议的情况下,尽可能吃到最多不同种类的糖。给你一个长度为 n 的整数数组 candyType ,返回: Alice 在仅吃掉 n / 2 枚糖的情况下,可以吃到糖的 最多 种类数。原创 2023-08-09 11:53:00 · 741 阅读 · 0 评论 -
【LeetCode每日一题】——219.存在重复元素II
给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j)原创 2023-08-08 13:42:58 · 343 阅读 · 0 评论 -
【LeetCode每日一题】——85.最大矩形
给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。原创 2023-08-07 15:41:26 · 470 阅读 · 0 评论 -
【LeetCode每日一题】——304.二维区域和检索-矩阵不可变
给定一个二维矩阵 matrix,以下类型的多个请求: 计算其子矩形范围内元素的总和,该子矩阵的 左上角 为 (row1, col1) ,右下角 为 (row2, col2) 。实现 NumMatrix 类: NumMatrix(int[][] matrix) 给定整数矩阵 matrix 进行初始化 int sumRegion(int row1, int col1, int row2, int col2) 返回 左上角 (row1, col1) 、右下角 (row2, col2)原创 2023-08-03 14:13:41 · 1768 阅读 · 0 评论 -
【LeetCode每日一题】——807.保持城市天际线
给你一座由 n x n 个街区组成的城市,每个街区都包含一座立方体建筑。给你一个下标从 0 开始的 n x n 整数矩阵 grid ,其中 grid[r][c] 表示坐落于 r 行 c 列的建筑物的 高度 。城市的 天际线 是从远处观察城市时,所有建筑物形成的外部轮廓。从东、南、西、北四个主要方向观测到的 天际线 可能不同。我们被允许为 任意数量的建筑物 的高度增加 任意增量(不同建筑物的增量可能不同) 。 高度为 0 的建筑物的高度也可以增加。然而,增加的建筑物高度 不能影响 从任何主要方原创 2023-08-02 12:05:34 · 283 阅读 · 0 评论 -
【LeetCode每日一题】——1572.矩阵对角线元素的和
给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。原创 2023-08-01 11:21:55 · 1483 阅读 · 0 评论 -
【LeetCode每日一题】——766.托普利茨矩阵
给你一个 m x n 的矩阵 matrix 。如果这个矩阵是托普利茨矩阵,返回 true ;否则,返回 false 。如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利茨矩阵 。原创 2023-07-31 10:00:46 · 1299 阅读 · 0 评论 -
【LeetCode每日一题】——566.重塑矩阵
在 MATLAB 中,有一个非常有用的函数 reshape ,它可以将一个 m x n 矩阵重塑为另一个大小不同(r x c)的新矩阵,但保留其原始数据。给你一个由二维数组 mat 表示的 m x n 矩阵,以及两个正整数 r 和 c ,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的 行遍历顺序 填充。如果具有给定参数的 reshape 操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。原创 2023-07-30 14:29:01 · 1267 阅读 · 0 评论 -
【LeetCode每日一题】——84.柱状图中最大的矩形
给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。原创 2023-07-28 10:02:09 · 313 阅读 · 0 评论 -
【LeetCode每日一题】——946.验证栈序列
给定 pushed 和 popped 两个序列,每个序列中的 值都不重复,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;否则,返回 false 。原创 2023-07-26 11:20:27 · 332 阅读 · 0 评论 -
【LeetCode每日一题】——739.每日温度
给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。原创 2023-07-26 10:19:11 · 217 阅读 · 0 评论 -
【LeetCode每日一题】——剑指 Offer II 027.回文链表
给定一个链表的 头节点 head ,请判断其是否为回文链表。如果一个链表是回文,那么链表节点序列从前往后看和从后往前看是相同的。原创 2023-07-24 14:28:28 · 157 阅读 · 0 评论 -
【LeetCode每日一题】——剑指 Offer 30.包含min函数的栈
定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。原创 2023-07-24 10:28:56 · 174 阅读 · 0 评论 -
【LeetCode每日一题】——1475.商品折扣后的最终价格
给你一个数组 prices ,其中 prices[i] 是商店里第 i 件商品的价格。商店里正在进行促销活动,如果你要买第 i 件商品,那么你可以得到与 prices[j] 相等的折扣,其中 j 是满足 j > i 且 prices[j]原创 2023-06-07 11:09:50 · 860 阅读 · 1 评论 -
【LeetCode每日一题】——2269.找到一个数字的 K 美丽值
一个整数 num 的 k 美丽值定义为 num 中符合以下条件的 子字符串 数目: 子字符串长度为 k 。 子字符串能整除 num 。给你整数 num 和 k ,请你返回 num 的 k 美丽值。注意: 允许有 前缀 0 。 0 不能整除任何值。一个 子字符串 是一个字符串里的连续一段字符序列。原创 2023-06-02 20:27:13 · 480 阅读 · 0 评论 -
【LeetCode每日一题】——1248.统计「优美子数组」
给你一个整数数组 nums 和一个整数 k。如果某个连续子数组中恰好有 k 个奇数数字,我们就认为这个子数组是「优美子数组」。请返回这个数组中 「优美子数组」 的数目。原创 2023-06-01 20:23:49 · 574 阅读 · 0 评论