自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 收藏
  • 关注

原创 90. 子集 II

其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。返回的解集中,子集可以按。

2023-09-16 08:03:30 128

原创 77. 组合

【代码】77. 组合。

2023-09-14 00:07:55 116

原创 40. 组合总和 II

中的每个数字在每个组合中只能使用。给定一个候选人编号的集合。解集不能包含重复的组合。中所有可以使数字和为。

2023-09-13 23:52:27 115

原创 695. 岛屿的最大面积

(代表土地) 构成的组合,这里的「相邻」要求两个。如果没有岛屿,则返回面积为。,因为岛屿只能包含水平或垂直这四个方向上的。岛屿的面积是岛上值为。

2023-09-11 14:45:36 95

原创 1905. 统计子岛屿

grid2 中标红的 1 区域是子岛屿,总共有 3 个子岛屿。grid2 中标红的 1 区域是子岛屿,总共有 2 个子岛屿。如上图所示,左边为 grid1 ,右边为 grid2。如上图所示,左边为 grid1 ,右边为 grid2。任何矩阵以外的区域都视为水域。中同一个岛屿完全包含,那么我们称。(水平或者竖直)上相邻的。中该岛屿的每一个格子都被。

2023-09-11 13:56:56 259

原创 1254. 统计封闭岛屿的数目

灰色区域的岛屿是封闭岛屿,因为这座岛屿完全被水域包围(即被 1 区域包围)。岛是由最大的4个方向连通的。由1包围(左、上、右、下)的岛。组成的群,封闭岛是一个。

2023-09-11 13:40:29 169

原创 2023华为OD机试真题 Java【数字最低位排序】【最低位排序】

给定一个非空数组(列表)起元素数据类型为整型请按照数组元素十进制最低位从小到大进行排序十进制最低位相同的元素,相对位置保持不变当数组元素为负值时,十进制最低为等同于去除符号位后对应十进制值最低位输入描述。给定一个非空数组(列表)其元素数据类型为32位有符号整数数组长度为[1.10001。

2023-08-09 23:50:28 103

原创 309. 买卖股票的最佳时机含冷冻期

设计一个算法计算出最大利润。对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

2023-08-03 17:06:08 212

原创 448. 找到所有数组中消失的数字

给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。进阶:你能在不使用额外空间且时间复杂度为 O(n) 的情况下解决这个问题吗?你可以假定返回的数组不算在额外空间内。输入:nums = [4,3,2,7,8,2,3,1]输入:nums = [1,1]

2023-07-27 17:56:35 171

原创 219. 存在重复元素 II

给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j)

2023-07-17 17:14:31 293

原创 993. 二叉树的堂兄弟节点

我们给出了具有唯一值的二叉树的根节点 root ,以及树中两个不同节点的值 x 和 y。输入:root = [1,2,3,null,4,null,5], x = 5, y = 4。在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。输入:root = [1,2,3,null,4], x = 2, y = 3。如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点。输入:root = [1,2,3,4], x = 4, y = 3。

2023-07-17 14:21:51 57

原创 501. 二叉搜索树中的众数

给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。进阶:你可以不使用额外的空间吗?(假设由递归产生的隐式调用栈的开销不被计算在内)如果树中有不止一个众数,可以按 任意顺序 返回。结点左子树中所含节点的值 小于等于 当前节点的值。结点右子树中所含节点的值 大于等于 当前节点的值。输入:root = [1,null,2,2]树中节点的数目在范围 [1, 104] 内。左子树和右子树都是二叉搜索树。输入:root = [0]

2023-07-15 11:01:52 124

原创 230. 二叉搜索树中第K小的元素

给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。输入:root = [5,3,6,2,4,null,null,1], k = 3。输入:root = [3,1,4,null,2], k = 1。树中的节点数为 n。

2023-07-14 16:37:29 83

原创 199. 二叉树的右视图

给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。输入: [1,2,3,null,5,null,4]二叉树的节点个数的范围是 [0,100]输入: [1,null,3]输出: [1,3,4]

2023-07-14 15:06:05 103

原创 124. 二叉树中的最大路径和

二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。该路径 至少包含一个 节点,且不一定经过根节点。解释:最优路径是 15 -> 20 -> 7 ,路径和为 15 + 20 + 7 = 42。解释:最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6。输入:root = [-10,9,20,null,null,15,7]给你一个二叉树的根节点 root ,返回其 最大路径和。输入:root = [1,2,3]路径和 是路径中各节点值的总和。

2023-07-14 13:54:59 89

原创 117. 填充每个节点的下一个右侧节点指针 II

解释:给定二叉树如图 A 所示,你的函数应该填充它的每个 next 指针,以指向其下一个右侧节点,如图 B 所示。序列化输出按层序遍历顺序(由 next 指针连接),'#' 表示每层的末尾。填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。使用递归解题也符合要求,本题中递归程序的隐式栈空间不计入额外空间复杂度。输入:root = [1,2,3,4,5,null,7]输出:[1,#,2,3,#,4,5,7,#]

2023-07-13 17:44:38 274

原创 108. 将有序数组转换为二叉搜索树

给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。解释:[1,null,3] 和 [3,1] 都是高度平衡二叉搜索树。输入:nums = [-10,-3,0,5,9]输出:[0,-3,9,-10,null,5]nums 按 严格递增 顺序排列。输入:nums = [1,3]

2023-07-13 16:38:47 170

原创 95. 不同的二叉搜索树 II

输出:[[1,null,2,null,3],[1,null,3,2],[2,1,3],[3,1,null,null,2],[3,2,null,1]]给你一个整数 n ,请你生成并返回所有由 n 个节点组成且节点值从 1 到 n 互不相同的不同 二叉搜索树。可以按 任意顺序 返回答案。

2023-07-13 15:44:15 155

原创 96. 不同的二叉搜索树

给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。

2023-07-13 14:35:59 99

原创 279. 完全平方数

完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。给你一个整数 n ,返回 和为 n 的完全平方数的最少数量。解释:12 = 4 + 4 + 4。解释:13 = 4 + 9。

2023-07-12 14:20:16 131

原创 221. 最大正方形

输入:matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]在一个由 '0' 和 '1' 组成的二维矩阵内,找到只包含 '1' 的最大正方形,并返回其面积。输入:matrix = [["0","1"],["1","0"]]matrix[i][j] 为 '0' 或 '1'输入:matrix = [["0"]]

2023-07-12 10:32:15 94

原创 LCS 01. 下载插件

小扣打算给自己的 VS code 安装使用插件,初始状态下带宽每分钟可以完成 1 个插件的下载。方案一:第一分钟带宽加倍,带宽可每分钟下载 2 个插件;第二分钟下载 2 个插件。方案二:第一分钟下载 1 个插件,第二分钟下载 1 个插件。以下两个方案,都能实现 2 分钟内下载 2 个插件。请返回小扣完成下载 n 个插件最少需要多少分钟。第一分钟带宽加倍,带宽可每分钟下载 2 个插件;注意:实际的下载的插件数量可以超过 n 个。第二分钟下载 2 个插件;第三分钟下载 2 个插件。使用当前带宽下载插件。

2023-07-12 09:39:59 176

原创 面试题 08.01. 三步问题

有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。结果可能很大,你需要对结果模1000000007。

2023-07-03 16:10:33 125

原创 剑指 Offer II 091. 粉刷房子

当然,因为市场上不同颜色油漆的价格不同,所以房子粉刷成不同颜色的花费成本也是不同的。每个房子粉刷成不同颜色的花费是以一个。个,每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同。将 0 号房子粉刷成蓝色,1 号房子粉刷成绿色,2 号房子粉刷成蓝色。最少花费: 2 + 5 + 3 = 10。表示第 1 号房子粉刷成绿色的花费,以此类推。表示第 0 号房子粉刷成红色的成本花费;请计算出粉刷完所有房子最少的花费成本。

2023-05-18 16:49:10 71 1

原创 39. 组合总和

2 和 3 可以形成一组候选,2 + 2 + 3 = 7。注意 2 可以使用多次。如果至少一个数字的被选数量不同,则两种组合是不同的。7 也是一个候选, 7 = 7。,并以列表形式返回。中可以使数字和为目标数。对于给定的输入,保证和为。

2023-05-12 17:39:45 761

原创 剑指 Offer II 090. 环形房屋偷盗

你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2), 因为他们是相邻的。一个专业的小偷,计划偷窃一个环形街道上沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都。,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,你可以先偷窃 1 号房屋(金额 = 1),然后偷窃 3 号房屋(金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4。给定一个代表每个房屋存放金额的非负整数数组。,今晚能够偷窃到的最高金额。

2023-05-08 18:21:49 176

原创 剑指 Offer II 089. 房屋偷盗

一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响小偷偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 2 + 9 + 1 = 12。偷窃到的最高金额 = 1 + 3 = 4。给定一个代表每个房屋存放金额的非负整数数组。,一夜之内能够偷窃到的最高金额。

2023-05-08 16:45:04 30

原创 1043. 分隔数组以得到最大和

返回将数组分隔变换后能够得到的元素最大和。本题所用到的测试用例会确保答案是一个 32 位整数。为 k 的一些(连续)子数组。分隔完成后,每个子数组的中的所有值都会变为该子数组中的最大值。数组变为 [15,15,15,9,10,10,10],请你将该数组分隔为长度。

2023-04-28 00:20:46 40

原创 518. 零钱兑换 II

请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回。题目数据保证结果符合 32 位带符号整数。只用面额 2 的硬币不能凑成总金额 3。表示不同面额的硬币,另给一个整数。假设每一种面额的硬币有无限个。

2023-04-27 00:30:58 29

原创 494. 目标和

给你一个整数数组 和一个整数 。向数组中的每个整数前添加 或 ,然后串联起所有整数,可以构造一个 表达式 :返回可以通过上述方法构造的、运算结果等于 的不同 表达式 的数目。示例 1:输入:nums = [1,1,1,1,1], target = 3输出:5解释:一共有 5 种方法让最终目标和为 3 。-1 + 1 + 1 + 1 + 1 = 3+1 - 1 + 1 + 1 + 1 = 3+1 + 1 - 1 + 1 + 1 = 3+1 + 1 + 1 - 1 + 1 = 3+1

2023-04-26 23:36:29 29

原创 678. 有效的括号字符串

写一个函数来检验这个字符串是否为有效字符串。

2023-04-26 11:48:33 55

原创 647. 回文子串

具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。6个回文子串: "a", "a", "a", "aa", "aa", "aaa"三个回文子串: "a", "b", "c"是字符串中的由连续字符组成的一个序列。是正着读和倒过来读一样的字符串。,请你统计并返回这个字符串中。

2023-04-25 23:45:33 32

原创 516. 最长回文子序列

子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。,找出其中最长的回文子序列,并返回该序列的长度。一个可能的最长回文子序列为 "bbbb"。一个可能的最长回文子序列为 "bb"。

2023-04-25 02:42:42 31

原创 面试题 17.16. 按摩师

一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。选择 1 号预约、 3 号预约、 5 号预约和 8 号预约,总时长 = 2 + 4 + 3 + 3 = 12。选择 1 号预约、 3 号预约和 5 号预约,总时长 = 2 + 9 + 1 = 12。选择 1 号预约和 3 号预约,总时长 = 1 + 3 = 4。本题相对原题稍作改动。

2023-04-25 00:35:58 36

原创 面试题 16.17. 连续数列

给定一个整数数组,找出总和最大的连续数列,并返回总和。连续子数组 [4,-1,2,1] 的和最大,为 6。) 的解法,尝试使用更为精妙的分治法求解。如果你已经实现复杂度为 O(

2023-04-25 00:25:41 29

原创 剑指 Offer II 088. 爬楼梯的最少成本

每当爬上一个阶梯都要花费对应的体力值,一旦支付了相应的体力值,就可以选择向上爬一个阶梯或者爬两个阶梯。最低花费方式是从 cost[0] 开始,逐个经过那些 1 ,跳过 cost[3] ,一共花费 6。请找出达到楼层顶部的最低花费。在开始时,你可以选择从下标为 0 或 1 的元素作为初始阶梯。最低花费是从 cost[1] 开始,然后走两步即可到阶梯顶,一共花费 15。个阶梯对应着一个非负数的体力花费值。数组的每个下标作为一个阶梯,第。

2023-04-25 00:05:16 162

原创 剑指 Offer II 003. 前 n 个数字二进制中 1 的个数

之间的每个数字的二进制表示中 1 的个数,并输出一个数组。

2023-04-24 23:35:54 32

原创 120. 三角形最小路径和

自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。也就是说,如果正位于当前行的下标。每一步只能移动到下一行中相邻的结点上。,那么下一步可以移动到下一行的下标。,找出自顶向下的最小路径和。

2023-04-24 16:44:12 26

原创 剑指 Offer 10- II. 青蛙跳台阶问题

答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。级的台阶总共有多少种跳法。

2023-04-24 09:23:22 25

原创 剑指 Offer 42. 连续子数组的最大和

输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。连续子数组 [4,-1,2,1] 的和最大,为 6。要求时间复杂度为O(n)。

2023-04-24 00:07:20 29

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除