自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 重新排列字符串

leetcode刷题——重新排列字符串题目思路解法题目给你一个字符串 s 和一个 长度相同 的整数数组 indices 。请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。返回重新排列后的字符串。示例 1:输入:s = “codeleet”, indices = [4,5,6,7,0,2,1,3]输出:“leetcode”解释:如图所示,“codeleet” 重新排列后变为 “leetcode” 。示例 2:输入:s = “abc”, indic

2020-11-30 10:36:19 186

原创 升下降字符串

leetcode刷题——上升下降字符串题目思路解法题目给你一个字符串 s ,请你根据下面的算法重新构造字符串:从 s 中选出 最小 的字符,将它 接在 结果字符串的后面。从 s 剩余字符中选出 最小 的字符,且该字符比上一个添加的字符大,将它 接在 结果字符串后面。重复步骤 2 ,直到你没法从 s 中选择字符。从 s 中选出 最大 的字符,将它 接在 结果字符串的后面。从 s 剩余字符中选出 最大 的字符,且该字符比上一个添加的字符小,将它 接在 结果字符串后面。重复步骤 5 ,直到你没法从

2020-11-27 16:12:06 40

原创 分割平衡字符串

LEETCODE刷题——分割平衡字符串2020.11.25题目思路解法题目在一个「平衡字符串」中,‘L’ 和 ‘R’ 字符的数量是相同的。给出一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。返回可以通过分割得到的平衡字符串的最大数量。示例 1:输入:s = “RLRRLLRLRL”输出:4解释:s 可以分割为 “RL”, “RRLL”, “RL”, “RL”, 每个子字符串中都包含相同数量的 ‘L’ 和 ‘R’。示例 2:输入:s = “RLLLLRRRLR”输出:3解释:s

2020-11-25 09:34:09 119

原创 检查两个字符串数组是否相等

leetcode刷题39—— 检查两个字符串数组是否相等2020.11.24题目思路解法题目给你两个字符串数组 word1 和 word2 。如果两个数组表示的字符串相同,返回 true ;否则,返回 false 。数组表示的字符串 是由数组中的所有元素 按顺序 连接形成的字符串。示例 1:输入:word1 = [“ab”, “c”], word2 = [“a”, “bc”]输出:true解释:word1 表示的字符串为 “ab” + “c” -> “abc”word2 表示的字符串

2020-11-24 10:46:53 3783 1

原创 数组拆分1

leetcode刷题38——判断能否形成等差数列2020.11.23题目思路解法题目给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。返回该 最大总和 。示例 1:输入:nums = [1,4,3,2]输出:4解释:所有可能的分法(忽略元素顺序)为:(1, 4), (2, 3) -> min(1, 4) + min(2, 3) =

2020-11-23 09:38:22 133

原创 判断能否形成等差数列

leetcode刷题37——判断能否形成等差数列2020.11.21题目思路解法题目给你一个数字数组 arr 。如果一个数列中,任意相邻两项的差总等于同一个常数,那么这个数列就称为 等差数列 。如果可以重新排列数组形成等差数列,请返回 true ;否则,返回 false 。示例 1:输入:arr = [3,5,1]输出:true解释:对数组重新排序得到 [1,3,5] 或者 [5,3,1] ,任意相邻两项的差分别为 2 或 -2 ,可以形成等差数列。示例 2:输入:arr = [1,2,

2020-11-21 16:00:50 377

原创 有序数组的平方

leetcode刷题36——有序数组的平方2020.11.20题目思路解法题目给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例 1:输入:[-4,-1,0,3,10]输出:[0,1,9,16,100]示例 2:输入:[-7,-3,2,3,11]输出:[4,9,9,49,121]思路解法先对数组每个元素进行平方,再利用排序函数对数组操作即可。class Solution {public:vector sortedSquares(ve

2020-11-20 09:22:40 82

原创 高度检查器

LeetCode刷题35——高度检查器2020.11.19题目思路解法题目输入:heights = [1,1,4,2,1,3]输出:3解释:当前数组:[1,1,4,2,1,3]目标数组:[1,1,1,2,3,4]在下标 2 处(从 0 开始计数)出现 4 vs 1 ,所以我们必须移动这名学生。在下标 4 处(从 0 开始计数)出现 1 vs 3 ,所以我们必须移动这名学生。在下标 5 处(从 0 开始计数)出现 3 vs 4 ,所以我们必须移动这名学生。示例 2:输入:heights

2020-11-19 14:16:20 112

原创 统计有序矩阵中的负数

LeetCode刷题34——统计有序矩阵中的负数2020.11.19题目思路解法题目给你一个 m * n 的矩阵 grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。请你统计并返回 grid 中 负数 的数目。示例 1:输入:grid = [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]]输出:8解释:矩阵中共有 8 个负数。示例 2:输入:grid = [[3,2],[1,0]]输出:0示例 3:输入:grid = [[1,

2020-11-18 09:31:58 345

原创 和为零的N个唯一整数

LeetCode刷题33——和为零的N个唯一整数2020.11.18题目思路解法题目示例 1:输入:n = 5输出:[-7,-1,1,3,4]解释:这些数组也是正确的 [-5,-1,1,2,3],[-3,-1,2,-2,4]。示例 2:输入:n = 3输出:[-1,0,1]示例 3:输入:n = 1输出:[0]思路解法本题思路就是N个唯一整数,应该分为技术和偶数。若是偶数个,那么一半正数一半负数即可,若是奇数个,则再加上零即可。class Solution {public:v

2020-11-17 10:34:48 114

原创 通过翻转子数组使两个数组相等

LeetCode刷题32——通过翻转子数组使两个数组相等2020.11.17题目思路解法题目给你两个长度相同的整数数组 target 和 arr 。每一步中,你可以选择 arr 的任意 非空子数组 并将它翻转。你可以执行此过程任意次。如果你能让 arr 变得与 target 相同,返回 True;否则,返回 False 。示例 1:输入:target = [1,2,3,4], arr = [2,4,1,3]输出:true解释:你可以按照如下步骤使 arr 变成 target:1- 翻转子数

2020-11-17 10:20:52 61

原创 查找常用字符

LeetCode刷题31——查找常用字符2020.11.16题目思路解法题目给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。你可以按任意顺序返回答案。示例 1:输入:[“bella”,“label”,“roller”]输出:[“e”,“l”,“l”]示例 2:输入:[“cool”,“lock”,“cook”]输出:[“c”,“o”]

2020-11-16 10:10:01 89

原创 奇数值单元格的数目

LeetCode刷题30——奇数值单元格的数目2020.11.15题目思路解法题目给你一个 n 行 m 列的矩阵,最开始的时候,每个单元格中的值都是 0。另有一个索引数组 indices,indices[i] = [ri, ci] 中的 ri 和 ci 分别表示指定的行和列(从 0 开始编号)。你需要将每对 [ri, ci] 指定的行和列上的所有单元格的值加 1。请你在执行完所有 indices 指定的增量操作后,返回矩阵中 「奇数值单元格」 的数目。示例 1:输入:n = 2, m = 3,

2020-11-15 16:13:34 55

原创 翻转图像

LeetCode刷题29——翻转图像2020.11.14题目思路解法题目给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。示例 1:输入: [[1,1,0],[1,0,1],[0,0,0]]输出: [[1,0,0],[0,1,0

2020-11-14 19:21:57 81

原创 数组中两元素的最大乘积

LeetCode刷题28——数组中两元素的最大乘积2020.11.13题目解法思路题目给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值。请你计算并返回该式的最大值。示例 1:输入:nums = [3,4,5,2]输出:12解释:如果选择下标 i=1 和 j=2(下标从 0 开始),则可以获得最大值,(nums[1]-1)(nums[2]-1) = (4-1)(5-1) = 3*4 = 12 。示例 2:输入:

2020-11-13 09:29:40 945

原创 将每个元素替换为右侧最大元素

LeetCode刷题27——将每个元素替换为右侧最大元素2020.11.12题目思路及解法题目给你一个数组 arr ,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用 -1 替换。完成所有替换操作后,请你返回这个数组。示例:输入:arr = [17,18,5,4,6,1]输出:[18,6,6,6,1,-1]思路及解法第一个想到的就是暴力解法,两层循环,遍历整个数组。代码如下:class Solution {public:vector replaceElements(vect

2020-11-12 09:45:35 108

原创 统计好三元组

LeetCode刷题26——统计好三元组2020.11.11题目思路解法题目给你一个整数数组 arr ,以及 a、b 、c 三个整数。请你统计其中好三元组的数量。如果三元组 (arr[i], arr[j], arr[k]) 满足下列全部条件,则认为它是一个 好三元组 。0 <= i < j < k < arr.length|arr[i] - arr[j]| <= a|arr[j] - arr[k]| <= b|arr[i] - arr[k]| <= c

2020-11-11 10:03:02 229

原创 二进制链表转整数2020.11.10

LeetCode刷题25——二进制链表转整数2020.11.10题目思路题目给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值 。示例 1:输入:head = [1,0,1]输出:5解释:二进制数 (101) 转化为十进制数 (5)示例 2:输入:head = [0]输出:0示例 3:输入:head = [1]输出:1示例 4:输入:head = [1,0,0,1,0,0,1,

2020-11-10 09:40:28 70

原创 访问所有点的最小时间

LeetCode刷题24——访问所有点的最小时间2020.11.09题目思路题目平面上有 n 个点,点的位置用整数坐标表示 points[i] = [xi, yi]。请你计算访问所有这些点需要的最小时间(以秒为单位)。你可以按照下面的规则在平面上移动:每一秒沿水平或者竖直方向移动一个单位长度,或者跨过对角线(可以看作在一秒内向水平和竖直方向各移动一个单位长度)。必须按照数组中出现的顺序来访问这些点。输入:points = [[1,1],[3,4],[-1,0]]输出:7解释:一条最佳的访问路

2020-11-09 13:31:05 91

原创 括号的最大嵌套深度

LeetCode刷题23——括号的最大嵌套深度2020.11.08题目思路三级目录题目如果字符串满足一下条件之一,则可以称之为 有效括号字符串(valid parentheses string,可以简写为 VPS):字符串是一个空字符串 “”,或者是一个不为 “(” 或 “)” 的单字符。字符串可以写为 AB(A 与 B 字符串连接),其中 A 和 B 都是 有效括号字符串 。字符串可以写为 (A),其中 A 是一个 有效括号字符串 。类似地,可以定义任何有效括号字符串 S 的 嵌套深度 dep

2020-11-08 16:39:42 1108

原创 删除链表的节点

LeetCode刷题22——删除链表的节点2020.11.08题目思路题目请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。现有一个链表 – head = [4,5,1,9],它可以表示为:示例 1:输入:head = [4,5,1,9], node = 5输出:[4,1,9]解释:给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入:head = [4,5,1,9]

2020-11-08 15:30:49 81

原创 删除中间节点

LeetCode刷题21——删除中间节点2020.11.07题目思路注意题目实现一种算法,删除单向链表中间的某个节点(即不是第一个或最后一个节点),假定你只能访问该节点。示例:输入:单向链表a->b->c->d->e->f中的节点c结果:不返回任何数据,但该链表变为a->b->d->e->f思路参考了题解。这题的思路是让当前链表节点值等于下一节点的值,链接的地址指向下下个地址即可。代码/**Definition for singly

2020-11-07 14:58:32 50

原创 解压压缩编码列表

LeetCode刷题20——解压压缩编码列表2020.11.06题目思路题目给你一个以行程长度编码压缩的整数列表 nums 。考虑每对相邻的两个元素 [freq, val] = [nums[2i], nums[2i+1]] (其中 i >= 0 ),每一对都表示解压后子列表中有 freq 个值为 val 的元素,你需要从左到右连接所有子列表以生成解压后的列表。请你返回解压后的列表。示例:输入:nums = [1,2,3,4]输出:[2,4,4,4]解释:第一对 [1,2] 代表着 2

2020-11-06 09:20:29 557

原创 按既定顺序创建目标数组

LeetCode刷题20——按既定顺序创建目标数组2020.11.05题目思路题目给你两个整数数组 nums 和 index。你需要按照以下规则创建目标数组:目标数组 target 最初为空。按从左到右的顺序依次读取 nums[i] 和 index[i],在 target 数组中的下标 index[i] 处插入值 nums[i] 。重复上一步,直到在 nums 和 index 中都没有要读取的元素。请你返回目标数组。题目保证数字插入位置总是存在。示例 1:输入:nums = [0,1,2,

2020-11-05 18:58:25 75

原创 有多少小于当前数字的数字2020.11.05

LeetCode刷题19——有多少小于当前数字的数字2020.11.05题目思路题目给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。以数组形式返回答案。示例 1:输入:nums = [8,1,2,2,3]输出:[4,0,1,1,3]解释:对于 nums[0]=8 存在四个比它小的数字:(1,2,2

2020-11-05 15:12:04 76

原创 IP地址无效化2020.11.04

LeetCode刷题18——IP地址无效化2020.11.04题目思路题目给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本。所谓无效化 IP 地址,其实就是用 “[.]” 代替了每个 “.”。示例 1:输入:address = “1.1.1.1”输出:“1[.]1[.]1[.]1”示例 2:输入:address = “255.100.50.0”输出:“255[.]100[.]50[.]0”思路遍历数组的每个元素,将其中的.替换为[.]要注意[.]是字符

2020-11-04 09:25:56 107

原创 LeetCode刷题17——在既定时间做作业的学生人数2020.11.03

LeetCode刷题17——在既定时间做作业的学生人数2020.11.03题目思路题目给你两个整数数组 startTime(开始时间)和 endTime(结束时间),并指定一个整数 queryTime 作为查询时间。已知,第 i 名学生在 startTime[i] 时开始写作业并于 endTime[i] 时完成作业。请返回在查询时间 queryTime 时正在做作业的学生人数。形式上,返回能够使 queryTime 处于区间 [startTime[i], endTime[i]](含)的学生人数。示

2020-11-03 15:56:34 148

原创 LeetCode刷题16——速算机器人2020.11.03

LeetCode刷题16——速算机器人2020.11.03题目思路题目小扣在秋日市集发现了一款速算机器人。店家对机器人说出两个数字(记作 x 和 y),请小扣说出计算指令:“A” 运算:使 x = 2 * x + y;“B” 运算:使 y = 2 * y + x。在本次游戏中,店家说出的数字为 x = 1 和 y = 0,小扣说出的计算指令记作仅由大写字母 A、B 组成的字符串 s,字符串中字符的顺序表示计算顺序,请返回最终 x 与 y 的和为多少。示例 1:输入:s = “AB”输出:4

2020-11-03 11:13:46 251

原创 LeetCode刷题15——所有奇数长度子数组的和2020.11.02

LeetCode刷题15——所有奇数长度子数组的和2020.11.02题目思路题目给你一个正整数数组 arr ,请你计算所有可能的奇数长度子数组的和。子数组 定义为原数组中的一个连续子序列。请你返回 arr 中 所有奇数长度子数组的和 。示例 1:输入:arr = [1,4,2,5,3]输出:58解释:所有奇数长度子数组和它们的和为:[1] = 1[4] = 4[2] = 2[5] = 5[3] = 3[1,4,2] = 7[4,2,5] = 11[2,5,3] = 10[

2020-11-02 15:06:43 180

原创 LeetCode刷题14——矩阵对角元素的和2020.11.01

LeetCode刷题14——矩阵对角元素的和2020.11.01题目思路题目给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。示例 1:输入:mat = [[1,2,3],[4,5,6],[7,8,9]]输出:25解释:对角线的和为:1 + 5 + 9 + 3 + 7 = 25请注意,元素 mat[1][1] = 5 只会被计算一次。示例 2:输入:mat = [[1,1,1,1],[1,1,1,1],

2020-11-01 14:46:11 383

空空如也

空空如也

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

TA关注的人

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