自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (1)
  • 收藏
  • 关注

原创 2208. 将数组和减半的最少操作次数

nums 的和减小了 33 - 14.75 = 18.25 ,减小的部分超过了初始数组和的一半,18.25 >= 33/2 = 16.5。nums 的和减小了 31 - 14.5 = 16.5 ,减小的部分超过了初始数组和的一半, 16.5 >= 31/2 = 15.5。最终数组为 [5, 4.75, 4, 1] ,和为 5 + 4.75 + 4 + 1 = 14.75。最终数组为 [1.5, 8, 5] ,和为 1.5 + 8 + 5 = 14.5。选择数字 3 并减小为 1.5。

2023-08-08 17:17:26 323

原创 283. 移动零

移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。你能尽量减少完成的操作次数吗?,编写一个函数将所有。

2023-08-08 16:29:05 309

原创 24. 两两交换链表中的节点

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。24. 两两交换链表中的节点。

2023-08-08 15:38:11 182

原创 714. 买卖股票的最佳时机含手续费

你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。总利润: ((8 - 1) - 2) + ((9 - 4) - 2) = 8。在此处买入 prices[0] = 1。在此处卖出 prices[3] = 8。在此处买入 prices[4] = 4。在此处卖出 prices[5] = 9。714. 买卖股票的最佳时机含手续费。代表了交易股票的手续费用。

2023-08-05 23:47:53 101

原创 738. 单调递增的数字

当且仅当每个相邻位数上的数字。738. 单调递增的数字。的最大数字,且数字呈。时,我们称这个整数是。

2023-08-05 21:39:29 158

原创 56. 合并区间

区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。区间 [1,4] 和 [4,5] 可被视为重叠区间。表示若干个区间的集合,其中单个区间为。请你合并所有重叠的区间,并返回。

2023-08-04 23:19:31 149

原创 763. 划分字母区间

像 "ababcbacadefegde", "hijhklij" 这样的划分是错误的,因为划分的片段数较少。划分结果为 "ababcbaca"、"defegde"、"hijhklij"。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是。返回一个表示每个字符串片段的长度的列表。每个字母最多出现在一个片段中。763. 划分字母区间。

2023-08-04 21:57:18 134

原创 435. 无重叠区间

你需要移除两个 [1,2] 来使剩下的区间没有重叠。你不需要移除任何区间,因为它们已经是无重叠的了。需要移除区间的最小数量,使剩余区间互不重叠。移除 [1,3] 后,剩下的区间没有重叠。435. 无重叠区间。

2023-08-04 16:44:23 132

原创 452. 用最少数量的箭引爆气球

有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组。-在x = 11处发射箭,击破气球[10,16]和[7,12]。- 在x = 2处发射箭,击破气球[1,2]和[2,3]。- 在x = 4处射出箭,击破气球[3,4]和[4,5]。-在x = 6处射出箭,击破气球[2,8]和[1,6]。处射出一支箭,若有一个气球的直径的开始和结束坐标为。你不知道气球的确切 y 坐标。弓箭一旦被射出之后,可以无限地前进。每个气球需要射出一支箭,总共需要4支箭。452. 用最少数量的箭引爆气球。

2023-08-04 16:23:20 74

原创 406. 根据身高重建队列

编号为 4 的人身高为 4 ,有 4 个身高更高或者相同的人排在他前面,即编号为 0、1、2、3 的人。因此 [[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]] 是重新构造后的队列。编号为 2 的人身高为 5 ,有 2 个身高更高或者相同的人排在他前面,即编号为 0 和 1 的人。编号为 3 的人身高为 6 ,有 1 个身高更高或者相同的人排在他前面,即编号为 1 的人。编号为 5 的人身高为 7 ,有 1 个身高更高或者相同的人排在他前面,即编号为 1 的人。

2023-08-04 15:31:58 74

原创 135. 分发糖果

你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。你可以分别给第一个、第二个、第三个孩子分发 1、2、1 颗糖果。第三个孩子只得到 1 颗糖果,这满足题面中的两个条件。请你给每个孩子分发糖果,计算并返回需要准备的。表示每个孩子的评分。

2023-08-04 10:49:09 91

原创 1005. K 次取反后最大化的数组和

选择下标 (1, 2, 2) ,nums 变为 [3,1,0,2]。选择下标 (1, 4) ,nums 变为 [2,3,-1,5,4]。选择下标 1 ,nums 变为 [4,-2,3]。以这种方式修改数组后,返回数组。可以多次选择同一个下标。

2023-08-03 22:07:44 255

原创 771. 宝石与石头

中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。代表石头中宝石的类型,另有一个字符串。字母区分大小写,因此。771. 宝石与石头。

2023-08-02 15:58:32 78

原创 860. 柠檬水找零

对于最后一位顾客,我们无法退回 15 美元,因为我们现在只有两张 10 美元的钞票。对于接下来的 2 位顾客,我们收取一张 10 美元的钞票,然后返还 5 美元。第 5 位顾客那里,我们找还一张 10 美元的钞票和一张 5 美元的钞票。第 4 位顾客那里,我们收取一张 10 美元的钞票,并返还 5 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付。前 3 位顾客那里,我们按顺序收取 3 张 5 美元的钞票。前 2 位顾客那里,我们按顺序收取 2 张 5 美元的钞票。

2023-08-02 10:06:47 180

原创 918. 环形子数组的最大和

从子数组 [3] 和 [3,-2,2] 都可以得到最大和 3。从子数组 [5,5] 得到最大和 5 + 5 = 10。意味着数组的末端将会与开头相连呈环状。从子数组 [3] 得到最大和 3。918. 环形子数组的最大和。最多只能包含固定缓冲区。

2023-08-01 23:51:44 102

原创 28. 找出字符串中第一个匹配项的下标

"leeto" 没有在 "leetcode" 中出现,所以返回 -1。字符串的第一个匹配项的下标(下标从 0 开始)。第一个匹配项的下标是 0 ,所以返回 0。"sad" 在下标 0 和 6 处匹配。28. 找出字符串中第一个匹配项的下标。

2023-08-01 14:30:22 206

原创 1186. 删除一次得到子数组最大和

换句话说,你可以从原数组中选出一个子数组,并可以决定要不要从中删除一个元素(只能删一次哦),(删除后)子数组中至少应当有一个元素,然后该子数组(剩下)的元素总和是所有子数组之中最大的。我们可以选出 [1, -2, 0, 3],然后删掉 -2,这样得到 [1, 0, 3],和最大。我们应该直接选择 [-1],或者选择 [-1, -1] 再从中删去一个 -1。最后得到的子数组不能为空,所以我们不能选择 [-1] 并从中删去 -1 来得到 0。我们直接选出 [3],这就是最大和。注意,删除一个元素后,子数组。

2023-07-23 00:56:09 78

原创 874. 模拟行走机器人

机器人无法走到障碍物上,它将会停留在障碍物的前一个网格方块上,但仍然可以继续尝试进行该路线的其余部分。3. 向东移动 1 个单位,然后被位于 (2, 4) 的障碍物阻挡,机器人停在 (1, 4)距离原点最远的是 (3, 4) ,距离为 32 + 42 = 25。距离原点最远的是 (1, 8) ,距离为 12 + 82 = 65。该机器人可以接收以下三种类型的命令。1. 向北移动 4 个单位,到达 (0, 4)3. 向东移动 3 个单位,到达 (3, 4)1. 向北移动 4 个单位,到达 (0, 4)

2023-07-22 22:38:56 1059

原创 剑指 Offer 05. 替换空格

剑指 Offer 05. 替换空格。中的每个空格替换成"%20"。请实现一个函数,把字符串。

2023-07-22 21:45:55 53

原创 7. 整数反转

如果反转后整数超过 32 位的有符号整数的范围。给你一个 32 位的有符号整数。中的数字部分反转后的结果。

2023-07-22 20:53:06 76

原创 445. 两数相加 II

链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。445. 两数相加 II。

2023-07-22 20:29:21 38

原创 1253. 重构 2 行二进制矩阵

[1,0,1],[0,1,0]] 和 [[0,1,1],[1,0,0]] 也是正确答案。如果不存在符合要求的答案,就请返回一个空的二维数组。如果有多个不同的答案,那么任意一个都可以通过本题。来重构这个矩阵,并以二维整数数组的形式返回它。1253. 重构 2 行二进制矩阵。

2023-07-22 19:12:18 765

原创 121. 买卖股票的最佳时机

在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回。设计一个算法来计算你所能获取的最大利润。在这种情况下, 没有交易完成, 所以最大利润为 0。121. 买卖股票的最佳时机。买入这只股票,并选择在。

2023-07-21 15:42:22 36

原创 88. 合并两个有序数组

注意,因为 m = 0 ,所以 nums1 中没有元素。nums1 中仅存的 0 仅仅是为了确保合并结果可以顺利存放到 nums1 中。,5,6] ,其中斜体加粗标注的为 nums1 中的元素。最终,合并后数组不应由函数返回,而是存储在数组。需要合并 [1,2,3] 和 [2,5,6]。需要合并的数组是 [] 和 [1]。个元素表示应合并的元素,后。需要合并 [1] 和 []。中,使合并后的数组同样按。88. 合并两个有序数组。合并结果是 [1]。合并结果是 [1]。的算法解决此问题吗?

2023-07-21 15:05:11 27

原创 2544. 交替数字和

2544. 交替数字和2544. 交替数字。返回所有数字及其对应符号的和。

2023-07-21 13:54:23 59

原创 55. 跳跃游戏

无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。给定一个非负整数数组。

2023-07-21 13:52:32 173

原创 21. 合并两个有序链表

新链表是通过拼接给定的两个链表的所有节点组成的。将两个升序链表合并为一个新的。21. 合并两个有序链表。

2023-07-20 23:08:26 63

原创 283. 移动零

移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。你能尽量减少完成的操作次数吗?,编写一个函数将所有。

2023-07-20 22:20:39 40

原创 11. 盛最多水的容器

图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。轴共同构成的容器可以容纳最多的水。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。11. 盛最多水的容器。

2023-07-20 22:08:22 28

原创 69. x 的平方根

8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。不允许使用任何内置指数函数和算符,例如。由于返回类型是整数,结果只保留。69. x 的平方根。

2023-07-20 21:31:49 39

原创 931. 下降路径最小和

可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列(即位于正下方或者沿对角线向左或者向右的第一个元素)。如图所示,为和最小的两条下降路径。如图所示,为和最小的下降路径。931. 下降路径最小和。,请你找出并返回通过。

2023-07-20 21:21:14 57

原创 98. 验证二叉搜索树

根节点的值是 5 ,但是右子节点的值是 4。,判断其是否是一个有效的二叉搜索树。给你一个二叉树的根节点。

2023-07-20 19:37:23 35

原创 8. 字符串转换整数 (atoi)

第 2 步:"4193 with words"(当前没有读入字符,因为这里不存在 '-' 或者 '+')由于 "-42" 在范围 [-231, 231 - 1] 内,最终结果为 -42。第 1 步:"4193 with words"(当前没有读入字符,因为没有前导空格)由于 "42" 在范围 [-231, 231 - 1] 内,最终结果为 42。第 2 步:"42"(当前没有读入字符,因为这里不存在 '-' 或者 '+')第 1 步:"42"(当前没有读入字符,因为没有前导空格)"(读入 "42")

2023-07-20 17:35:36 35

原创 34. 在排序数组中查找元素的第一个和最后一个位置

请你找出给定目标值在数组中的开始位置和结束位置。给你一个按照非递减顺序排列的整数数组。你必须设计并实现时间复杂度为。如果数组中不存在目标值。

2023-07-20 00:33:07 44

原创 2178. 拆分成最多数目的正偶数之和

(2 + 4 + 6) 为最多数目的整数,数目为 3 ,所以我们返回 [2,4,6]。有最多数目的整数,数目为 4 ,所以我们返回 [6,8,2,12]。[10,2,4,12] ,[6,2,4,16] 等等也都是可行的解。[2,6,4] ,[6,2,4] 等等也都是可行的解。的正偶数之和,且拆分出来的正偶数数目。请你返回一个整数数组,表示将整数拆分成。没有办法将 finalSum 进行拆分。请你将它拆分成若干个。进行拆分,请你返回一个。

2023-07-19 23:36:34 34

原创 4. 寻找两个正序数组的中位数

合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5。合并数组 = [1,2,3] ,中位数 2。请你找出并返回这两个正序数组的。的正序(从小到大)数组。算法的时间复杂度应该为。

2023-07-19 23:07:42 26

原创 53. 最大子数组和

请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。连续子数组 [4,-1,2,1] 的和最大,为 6。的解法,尝试使用更为精妙的。是数组中的一个连续部分。如果你已经实现复杂度为。

2023-07-19 16:27:21 539

原创 167. 两数之和 II - 输入有序数组

1 与 0 之和等于目标数 -1。因此 index1 = 1, index2 = 2。返回 [1, 2]。2 与 7 之和等于目标数 9。因此 index1 = 1, index2 = 2。返回 [1, 2]。2 与 4 之和等于目标数 6。因此 index1 = 1, index2 = 3。返回 [1, 3]。你所设计的解决方案必须只使用常量级的额外空间。,请你从数组中找出满足相加之和等于目标数。的形式返回这两个整数的下标。以长度为 2 的整数数组。重复使用相同的元素。

2023-07-19 12:36:28 192 1

原创 70. 爬楼梯(斐波那契数列)

你有多少种不同的方法可以爬到楼顶呢?1. 1 阶 + 1 阶 + 1 阶。有两种方法可以爬到楼顶。1. 1 阶 + 1 阶。有三种方法可以爬到楼顶。2. 1 阶 + 2 阶。3. 2 阶 + 1 阶。

2023-07-18 20:01:00 72

原创 209. 长度最小的子数组

如果不存在符合条件的子数组,返回。是该条件下的长度最小的子数组。个正整数的数组和一个正整数。找出该数组中满足其和。

2023-07-18 19:49:42 853

空空如也

空空如也

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

TA关注的人

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