
LeetCode
菜鸡修炼之路
Tech沉思录
这个作者很懒,什么都没留下…
展开
-
每天一道LeeCode13 【移除元素】
移除元素给定一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nu...原创 2019-12-08 21:01:04 · 124 阅读 · 0 评论 -
2020-1-3-LeetCode【1304. 和为零的N个唯一整数】
1304. 和为零的N个唯一整数给你一个整数n,请你返回任意一个由n个各不相同的整数组成的数组,并且这n个数相加和为0。示例示例 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...原创 2020-01-03 15:02:06 · 252 阅读 · 0 评论 -
2020-1-3-LeetCode【1295. 统计位数为偶数的数字】
1295. 统计位数为偶数的数字给你一个整数数组nums,请你返回其中位数为偶数的数字的个数。示例示例 1:输入:nums = [12,345,2,6,7896]输出:2解释:12 是 2 位数字(位数为偶数)345 是 3 位数字(位数为奇数)2 是 1 位数字(位数为奇数)6 是 1 位数字 位数为奇数)7896 是 4 位数字(位数为偶数)...原创 2020-01-03 14:51:55 · 220 阅读 · 0 评论 -
2020-1-3-LeetCode【1275. 找出井字棋的获胜者】
1275. 找出井字棋的获胜者A 和B在一个3x3的网格上玩井字棋。井字棋游戏的规则如下:玩家轮流将棋子放在空方格 (" ") 上。第一个玩家 A 总是用"X" 作为棋子,而第二个玩家 B 总是用 "O" 作为棋子。"X" 和 "O" 只能放在空方格中,而不能放在已经被占用的方格上。只要有 3 个相同的(非空)棋子排成一条直线(行、列、对角线)时,游戏结束。如果...原创 2020-01-03 11:26:31 · 498 阅读 · 0 评论 -
2020-1-3-LeetCode【1266. 访问所有点的最小时间】
1266. 访问所有点的最小时间平面上有n个点,点的位置用整数坐标表示points[i] = [xi, yi]。请你计算访问所有这些点需要的最小时间(以秒为单位)。你可以按照下面的规则在平面上移动:每一秒沿水平或者竖直方向移动一个单位长度,或者跨过对角线(可以看作在一秒内向水平和竖直方向各移动一个单位长度)。必须按照数组中出现的顺序来访问这些点。示例输入:p...原创 2020-01-03 11:01:11 · 138 阅读 · 0 评论 -
2020-1-3-LeetCode【1260. 二维网格迁移】
1260. 二维网格迁移给你一个 n 行 m 列的二维网格grid和一个整数k。你需要将grid迁移k次。每次「迁移」操作将会引发下述活动:位于 grid[i][j]的元素将会移动到grid[i][j + 1]。位于grid[i][m - 1] 的元素将会移动到grid[i + 1][0]。位于 grid[n - 1][m - 1]的元素将会移动到gri...原创 2020-01-03 10:47:10 · 131 阅读 · 0 评论 -
2020-1-3-LeetCode【1252. 奇数值单元格的数目】
1252. 奇数值单元格的数目给你一个n行m列的矩阵,最开始的时候,每个单元格中的值都是 0。另有一个索引数组indices,indices[i] = [ri, ci]中的ri 和 ci 分别表示指定的行和列(从 0 开始编号)。你需要将每对[ri, ci]指定的行和列上的所有单元格的值加 1。请你在执行完所有indices指定的增量操作后,返回矩阵中 「奇数...原创 2020-01-03 10:16:23 · 206 阅读 · 0 评论 -
2020-1-3-LeetCode【1232. 缀点成线】
1232. 缀点成线在一个XY 坐标系中有一些点,我们用数组coordinates来分别记录它们的坐标,其中coordinates[i] = [x, y]表示横坐标为 x、纵坐标为 y的点。请你来判断,这些点是否在该坐标系中属于同一条直线上,是则返回 true,否则请返回 false。来源:力扣(LeetCode)链接:https://leetcode-cn.com/p...原创 2020-01-03 09:52:36 · 183 阅读 · 0 评论 -
2020-1-3-LeetCode【1217. 玩筹码】
1217. 玩筹码数轴上放置了一些筹码,每个筹码的位置存在数组chips当中。你可以对 任何筹码 执行下面两种操作之一(不限操作次数,0 次也可以):将第 i 个筹码向左或者右移动 2 个单位,代价为 0。将第 i 个筹码向左或者右移动 1 个单位,代价为 1。最开始的时候,同一位置上也可能放着两个或者更多的筹码。返回将所有筹码移动到同一位置(任意位置)上所需要的最小代价...原创 2020-01-03 09:36:42 · 116 阅读 · 0 评论 -
2020-1-2-LeetCode-【1200. 最小绝对差】
1200. 最小绝对差给你个整数数组arr,其中每个元素都不相同。请你找到所有具有最小绝对差的元素对,并且按升序的顺序返回。示例示例 1:输入:arr = [4,2,1,3]输出:[[1,2],[2,3],[3,4]]示例 2:输入:arr = [1,3,6,10,15]输出:[[1,3]]示例 3:输入:arr = [3,8,-10,23,19,-4,-...原创 2020-01-02 12:05:48 · 304 阅读 · 0 评论 -
2020-1-2-LeetCode【1185. 一周中的第几天】
1185. 一周中的第几天给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天。输入为三个整数:day、month 和year,分别表示日、月、年。您返回的结果必须是这几个值中的一个{"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}。来源:力扣(LeetCode)...原创 2020-01-02 11:47:00 · 351 阅读 · 0 评论 -
2020-1-2-LeetCode【1184. 公交站间的距离】
1184. 公交站间的距离环形公交路线上有n个站,按次序从0到n - 1进行编号。我们已知每一对相邻公交站之间的距离,distance[i]表示编号为i的车站和编号为(i + 1) % n的车站之间的距离。环线上的公交车都可以按顺时针和逆时针的方向行驶。返回乘客从出发点start到目的地destination之间的最短距离。来源:力扣(LeetCod...原创 2020-01-02 11:35:52 · 339 阅读 · 0 评论 -
2020-1-2-LeetCode【1170. 比较字符串最小字母出现频次】
1170. 比较字符串最小字母出现频次我们来定义一个函数f(s),其中传入参数s是一个非空字符串;该函数的功能是统计s 中(按字典序比较)最小字母的出现频次。例如,若s = "dcce",那么f(s) = 2,因为最小的字母是"c",它出现了2 次。现在,给你两个字符串数组待查表queries和词汇表words,请你返回一个整数数组answer作为答案,其...原创 2020-01-02 11:09:32 · 176 阅读 · 0 评论 -
2020-1-1-LeetCode【1299. 将每个元素替换为右侧最大元素】
1299. 将每个元素替换为右侧最大元素给你一个数组 arr ,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用 -1 替换。完成所有替换操作后,请你返回这个数组示例输入:arr = [17,18,5,4,6,1]输出:[18,6,6,6,1,-1]提示:1 <= arr.length <= 10^4 1 <= arr[i] <=...原创 2020-01-01 20:12:07 · 274 阅读 · 0 评论 -
2020-1-1-LeetCode【1128. 等价多米诺骨牌对的数量】
1128. 等价多米诺骨牌对的数量给你一个由一些多米诺骨牌组成的列表dominoes。如果其中某一张多米诺骨牌可以通过旋转 0度或 180 度得到另一张多米诺骨牌,我们就认为这两张牌是等价的。形式上,dominoes[i] = [a, b]和dominoes[j] = [c, d]等价的前提是a==c且b==d,或是a==d 且b==c。在0 <= i...原创 2020-01-01 20:01:32 · 217 阅读 · 0 评论 -
2020-1-1-LeetCode【1287. 有序数组中出现次数超过25%的元素】
1287. 有序数组中出现次数超过25%的元素给你一个非递减的有序整数数组,已知这个数组中恰好有一个整数,它的出现次数超过数组元素总数的 25%。请你找到并返回这个整数示例输入:arr = [1,2,2,6,6,6,6,7,10]输出:6提示:1 <= arr.length <= 10^4 0 <= arr[i] <= 10^5思路使...原创 2020-01-01 19:45:02 · 396 阅读 · 0 评论 -
2020-1-1-LeetCode【1122. 数组的相对排序】
1122. 数组的相对排序给你两个数组,arr1 和arr2,arr2中的元素各不相同arr2 中的每个元素都出现在arr1中对 arr1中的元素进行排序,使 arr1 中项的相对顺序和arr2中的相对顺序相同。未在arr2中出现过的元素需要按照升序放在arr1的末尾来源:力扣(LeetCode)链接:https://leetcode-cn.com/pr...原创 2020-01-01 19:30:29 · 323 阅读 · 0 评论 -
2020-1-1-LeetCode【1089. 复写零】
1089. 复写零给你一个长度固定的整数数组arr,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。注意:请不要在超过该数组长度的位置写入元素。要求:请对输入的数组就地进行上述修改,不要从函数返回任何东西。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/duplicate-zeros著作权归领扣网络所有...原创 2020-01-01 18:58:51 · 196 阅读 · 0 评论 -
2019-12-31-LeetCode【1051. 高度检查器】
1051. 高度检查器学校在拍年度纪念照时,一般要求学生按照 非递减 的高度顺序排列。请你返回至少有多少个学生没有站在正确位置数量。该人数指的是:能让所有学生以 非递减 高度排列的必要移动人数。示例输入:[1,1,4,2,1,3]输出:3解释:高度为 4、3 和最后一个 1 的学生,没有站在正确的位置。提示:1 <= heights.length <= ...原创 2019-12-31 10:55:33 · 135 阅读 · 0 评论 -
2019-12-31-LeetCode【1160. 拼写单词】
1160. 拼写单词给你一份『词汇表』(字符串数组)words和一张『字母表』(字符串)chars。假如你可以用chars中的『字母』(字符)拼写出 words中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。注意:每次拼写时,chars 中的每个字母都只能用一次。返回词汇表words中你掌握的所有单词的 长度之和。来源:力扣(LeetCode)链...原创 2019-12-31 10:45:05 · 401 阅读 · 0 评论 -
2019-12-30-LeetCode【1018. 可被 5 整除的二进制前缀】
1018. 可被 5 整除的二进制前缀给定由若干0和1组成的数组 A。我们定义N_i:从A[0] 到A[i]的第 i个子数组被解释为一个二进制数(从最高有效位到最低有效位)。返回布尔值列表answer,只有当N_i可以被 5整除时,答案answer[i] 为true,否则为 false。示例示例 1:输入:[0,1,1]输出:[true,fa...原创 2019-12-30 10:18:31 · 210 阅读 · 0 评论 -
2019-12-30-LeetCode【1013. 将数组分成和相等的三个部分】
1013. 将数组分成和相等的三个部分给定一个整数数组A,只有我们可以将其划分为三个和相等的非空部分时才返回true,否则返回 false。形式上,如果我们可以找出索引i+1 < j且满足(A[0] + A[1] + ... + A[i] == A[i+1] + A[i+2] + ... + A[j-1] == A[j] + A[j-1] + ... + A[A.leng...原创 2019-12-30 09:49:01 · 132 阅读 · 0 评论 -
2019-12-30-LeetCode【1010. 总持续时间可被 60 整除的歌曲】
1010. 总持续时间可被 60 整除的歌曲在歌曲列表中,第 i 首歌曲的持续时间为 time[i] 秒。返回其总持续时间(以秒为单位)可被 60 整除的歌曲对的数量。形式上,我们希望索引的数字i < j 且有(time[i] + time[j]) % 60 == 0。示例 1:输入:[30,20,150,100,40]输出:3解释:这三对的总持续时间可被 ...原创 2019-12-30 09:28:13 · 149 阅读 · 0 评论 -
2019-12-29-LeetCode【1002. 查找常用字符】
1002. 查找常用字符给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。你可以按任意顺序返回答案。示例 1:输入:["bella","label","roller"]输出:["e","l","l"]示例 2:输入:[...原创 2019-12-29 19:22:55 · 289 阅读 · 0 评论 -
2019-12-29-LeetCode【999. 车的可用捕获量】
999. 车的可用捕获量在一个 8 x 8 的棋盘上,有一个白色车(rook)。也可能有空方块,白色的象(bishop)和黑色的卒(pawn)。它们分别以字符 “R”,“.”,“B” 和 “p” 给出。大写字符表示白棋,小写字符表示黑棋。车按国际象棋中的规则移动:它选择四个基本方向中的一个(北,东,西和南),然后朝那个方向移动,直到它选择停止、到达棋盘的边缘或移动到同一方格来捕获该方格上...原创 2019-12-29 18:25:56 · 146 阅读 · 0 评论 -
2019-12-29-LeetCode【989. 数组形式的整数加法】
989. 数组形式的整数加法对于非负整数X而言,X的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果X = 1231,那么其数组形式为[1,2,3,1]。给定非负整数 X 的数组形式A,返回整数X+K的数组形式。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-to-array-form-of-int...原创 2019-12-29 17:42:28 · 153 阅读 · 0 评论 -
2019-12-29-LeetCode【985. 查询后的偶数和】
985. 查询后的偶数和给出一个整数数组A和一个查询数组queries。对于第i次查询,有val =queries[i][0], index= queries[i][1],我们会把val加到A[index]上。然后,第i次查询的答案是 A 中偶数值的和。(此处给定的index = queries[i][1]是从 0 开始的索引,每次查询都会永久修改数组...原创 2019-12-29 16:50:12 · 146 阅读 · 0 评论 -
2019-12-29-LeetCode【977. 有序数组的平方】
977. 有序数组的平方给定一个按非递减顺序排序的整数数组A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例 1:输入:[-4,-1,0,3,10]输出:[0,1,9,16,100]示例 2:输入:[-7,-3,2,3,11]输出:[4,9,9,49,121]来源:力扣(LeetCode)链接:https://leetcode-cn.com/probl...原创 2019-12-29 15:41:33 · 414 阅读 · 0 评论 -
2019-12-29-LeetCode【509. 斐波那契数】
509. 斐波那契数斐波那契数,通常用F(n)表示,形成的序列称为斐波那契数列。该数列由0和1开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.给定N,计算F(N)。示例 1:输入:2输出:1解释:F(2) = F(1) + F(0...原创 2019-12-29 10:27:40 · 153 阅读 · 0 评论 -
2019-12-28-LeetCode【35. 搜索插入位置】【53. 最大子序和】
941. 有效的山脉数组给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组:A.length >= 3 在0 < i< A.length - 1条件下,存在i使得: A[0] < A[1] < ... A[i-1] <...原创 2019-12-28 14:33:14 · 124 阅读 · 0 评论 -
2019-12-28-LeetCode【35. 搜索插入位置】【53. 最大子序和】
922. 按奇偶排序数组 II给定一个非负整数数组A, A 中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当A[i] 为奇数时,i也是奇数;当A[i]为偶数时, i 也是偶数。你可以返回任何满足上述条件的数组作为答案。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sort-array-by-pari...原创 2019-12-28 13:41:47 · 139 阅读 · 0 评论 -
2019-12-28-LeetCode【914. 卡牌分组】
914. 卡牌分组给定一副牌,每张牌上都写着一个整数。此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组:每组都有X张牌。组内所有的牌上都写着相同的整数。仅当你可选的 X >= 2 时返回true。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/x-of-a-kind-in-a-d...原创 2019-12-28 12:26:41 · 138 阅读 · 0 评论 -
2019-12-27-LeetCode【905. 按奇偶排序数组】
905. 按奇偶排序数组给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。提示:1 <= A.length <= 5000 0 <...原创 2019-12-27 17:38:21 · 150 阅读 · 0 评论 -
2019-12-27-LeetCode【896. 单调数列】
896. 单调数列如果数组是单调递增或单调递减的,那么它是单调的。如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。当给定的数组 A是单调数组时返回 true,否则返回 false。来源:力扣(LeetCode)链接:https:/...原创 2019-12-27 17:22:39 · 138 阅读 · 0 评论 -
2019-12-27-LeetCode【35. 搜索插入位置】【53. 最大子序和】
888. 公平的糖果交换爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝拥有的第 i块糖的大小,B[j] 是鲍勃拥有的第 j块糖的大小。因为他们是朋友,所以他们想交换一个糖果棒,这样交换后,他们都有相同的糖果总量。(一个人拥有的糖果总量是他们拥有的糖果棒大小的总和。)返回一个整数数组 ans,其中 ans[0] 是爱丽丝必须交换的糖果棒的大小,ans[1]是 Bob 必须交换...原创 2019-12-27 16:45:41 · 112 阅读 · 0 评论 -
2019-12-27-LeetCode【867. 转置矩阵】
867. 转置矩阵给定一个矩阵A,返回A的转置矩阵。矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。示例 1:输入:[[1,2,3],[4,5,6],[7,8,9]]输出:[[1,4,7],[2,5,8],[3,6,9]]示例2:输入:[[1,2,3],[4,5,6]]输出:[[1,4],[2,5],[3,6]]提示:1 <= A...原创 2019-12-27 16:06:58 · 119 阅读 · 0 评论 -
2019-12-26-LeetCode【35. 搜索插入位置】【53. 最大子序和】
849. 到最近的人的最大距离在一排座位(seats)中,1代表有人坐在座位上,0代表座位上是空的。至少有一个空座位,且至少有一人坐在座位上。亚历克斯希望坐在一个能够使他与离他最近的人之间的距离达到最大化的座位上。返回他到离他最近的人的最大距离。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximize-di...原创 2019-12-26 17:49:15 · 122 阅读 · 0 评论 -
2019-12-26-LeetCode【35. 搜索插入位置】【53. 最大子序和】
832. 翻转图像给定一个二进制矩阵A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转[1, 1, 0]的结果是[0, 1, 1]。反转图片的意思是图片中的0全部被1替换,1全部被0替换。例如,反转[0, 1, 1]的结果是[1, 0, 0]。来源:力扣(LeetCode)链接:htt...原创 2019-12-26 17:09:41 · 110 阅读 · 0 评论 -
2019-12-26-LeetCode【830. 较大分组的位置】
830. 较大分组的位置在一个由小写字母构成的字符串S中,包含由一些连续的相同字符所构成的分组。例如,在字符串 S = "abbxxxxzyy"中,就含有 "a", "bb", "xxxx", "z" 和 "yy" 这样的一些分组。我们称所有包含大于或等于三个连续字符的分组为较大分组。找到每一个较大分组的起始和终止位置。最终结果按照字典顺序输出。来源:力扣(LeetCo...原创 2019-12-26 16:40:54 · 149 阅读 · 0 评论 -
2019-12-26-LeetCode【766. 托普利茨矩阵】
766. 托普利茨矩阵如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵。给定一个M x N的矩阵,当且仅当它是托普利茨矩阵时返回True。示例1:输入: matrix = [ [1,2,3,4], [5,1,2,3], [9,5,1,2]]输出: True解释:在上述矩阵中, 其对角线为:"[9]", "[5, ...原创 2019-12-26 10:23:58 · 125 阅读 · 0 评论