leetcode每日一题
文章平均质量分 50
冲就完事了
这个作者很懒,什么都没留下…
展开
-
2021年3月9日 Leetcode每日一题:1047. 删除字符串中的所有相邻重复项
删除字符串中所有的相邻重复项1.题目描述给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。2.示例示例:输入:"abbaca"输出:"ca"解释:例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以原创 2021-03-09 09:58:58 · 212 阅读 · 0 评论 -
2021年2月25日 Leetcode每日一题:867. 转置矩阵
转置矩阵1.题目描述给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。2.示例示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[1,4,7],[2,5,8],[3,6,9]]示例 2:输入:matrix = [[1,2,3],[4,5,6]]输出:[[1,4],[2,5],[3,6]]3.解题思路模拟法即可。将矩阵的数字置于其转置后的位置之上。4原创 2021-02-25 14:29:30 · 137 阅读 · 0 评论 -
2021年2月24日 Leetcode每日一题:832. 翻转图像
翻转图像1.题目描述给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转[1, 1, 0]的结果是 [0, 1, 1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1]的结果是[1, 0, 0]。2.示例示例 1:输入:[[1,1,0],[1,0,1],[0,0,0]]输出:[[1,0,0],[0,1,0],[1,1,1]]解释:首先翻转每一行: [[0,原创 2021-02-24 19:06:56 · 66 阅读 · 0 评论 -
2021年2月22日 Leetcode每日一题:766. 托普利茨矩阵
托普利茨矩阵1.题目描述给你一个 m x n 的矩阵 matrix。如果这个矩阵是托普利茨矩阵,返回 true ;否则,返回 false 。如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是托普利茨矩阵 。2.示例示例 1:输入:matrix = [[1,2,3,4],[5,1,2,3],[9,5,1,2]]输出:true解释:在上述矩阵中, 其对角线为: "[9]", "[5, 5]", "[1, 1, 1]", "[2, 2, 2]", "[3, 3]", "[4]"原创 2021-02-22 21:00:28 · 112 阅读 · 0 评论 -
2021年2月21日 Leetcode每日一题:1438. 绝对差不超过限制的最长连续子数组
绝对值不超过限制的最长连续子数组1.题目描述给你一个整数数组 nums ,和一个表示限制的整数limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于limit 。如果不存在满足条件的子数组,则返回0 。2.示例示例 1:输入:nums = [8,2,4,7], limit = 4输出:2 解释:所有子数组如下:[8] 最大绝对差 |8-8| = 0 <= 4.[8,2] 最大绝对差 |8-2| = 6 > 4. [8,2,4] 最大绝原创 2021-02-21 22:20:04 · 555 阅读 · 0 评论 -
2021年2月20日 Leetcode每日一题:697. 数组的度
数组的度1.题目描述给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。2.示例示例 1:输入:[1, 2, 2, 3, 1]输出:2解释:输入数组的度是2,因为元素1和2的出现频数最大,均为2.连续子数组里面拥有相同度的有如下所示:[1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], [1, 2, 2], [2,原创 2021-02-20 11:13:52 · 183 阅读 · 0 评论 -
2021年2月19日 Leetcode每日一题:1004. 最大连续1的个数 III
最大连续1的个数Ⅲ1.题目描述给定一个由若干 0 和 1 组成的数组 A,我们最多可以将 K 个值从 0 变成 1 。返回仅包含 1 的最长(连续)子数组的长度。2.示例示例 1:输入:A = [1,1,1,0,0,0,1,1,1,1,0], K = 2输出:6解释: [1,1,1,0,0,1,1,1,1,1,1]粗体数字从 0 翻转到 1,最长的子数组长度为 6。示例 2:输入:A = [0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1], K = 3原创 2021-02-19 21:48:17 · 816 阅读 · 0 评论 -
2021年2月17日 Leetcode每日一题:566. 重塑矩阵
重塑矩阵1.题目描述在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。2.示例示例 1:输入: nums = [[1,2], [3,4]]r = 1, c = 4输出: [原创 2021-02-17 21:35:05 · 111 阅读 · 0 评论 -
2021年2月13日 Leetcode每日一题:448. 找到所有数组中消失的数字
找到所有数组中消失的数字1.题目描述给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。2.示例示例:输入:[4,3,2,7,8,2,3,1]输出:[5,6]3.读题题目的意思是,在一个长度为n的数组中,里面填满了数字范围为1~n的数字,原创 2021-02-13 15:01:20 · 125 阅读 · 0 评论 -
2021年2月12日 Leetcode每日一题:119. 杨辉三角 II
杨辉三角Ⅱ1.题目描述给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。在杨辉三角中,每个数是它左上方和右上方的数的和。2.示例示例:输入: 3输出: [1,3,3,1]3.读题今天又是很简单的每日一题。这个题目本身不难,难点在于题目给出了附加挑战:你可以优化你的算法到 O(k) 空间复杂度吗?也就是说,不能使用额外空间,最多只能使用目标层长度的空间。但是,如果将杨辉三角左对齐,就能够发现两个规律:1.每层的第一个数都是12.每层除了第一个数,其他数字就等原创 2021-02-12 19:47:58 · 125 阅读 · 0 评论 -
2021年2月11日 Leetcode每日一题:703. 数据流中的第 K 大元素
数据流中的第K大元素1.题目描述设计一个找到数据流中第 k 大元素的类(class)。注意是排序后的第 k 大元素,不是第 k 个不同的元素。请实现 KthLargest 类:KthLargest(int k, int[] nums) 使用整数 k 和整数流 nums 初始化对象。int add(int val)将 val 插入数据流 nums 后,返回当前数据流中第 k 大的元素。2.示例示例:输入:["KthLargest", "add", "add", "add", "add",原创 2021-02-11 13:35:43 · 110 阅读 · 0 评论 -
2021年2月10日 Leetcode每日一题:567. 字符串的排列
字符串的排列1.题目描述给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。2. 示例示例1:输入: s1 = "ab" s2 = "eidbaooo"输出: True解释: s2 包含 s1 的排列之一 ("ba").示例2:输入: s1= "ab" s2 = "eidboaoo"输出: False3.读题这一题的题干和示例清晰明了,题目即说明了,需要判断第一个字符串的排列之一是第二个字符串的子原创 2021-02-10 22:09:57 · 137 阅读 · 0 评论 -
2021年2月9日 Leetcode每日一题:992. K 个不同整数的子数组
class Solution { public int subarraysWithKDistinct(int[] A, int K) { int count = 0; for(int i=0;i<A.length;i++){ int sum = 1; int[] map = new int[A.length+1]; map[A[i]] = 1; for(int j=i原创 2021-02-10 13:52:56 · 123 阅读 · 0 评论 -
2021年2月8日 Leetcode每日一题:978. 最长湍流子数组
最长湍流子数组1.题目描述当 A 的子数组 A[i], A[i+1], …, A[j] 满足下列条件时,我们称其为湍流子数组:若 i <= k < j,当 k 为奇数时, A[k] > A[k+1],且当 k 为偶数时,A[k] < A[k+1];或 若 i <= k < j,当 k 为偶数时,A[k] > A[k+1] ,且当 k 为奇数时, A[k] < A[k+1]。也就是说,如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数组是湍流子原创 2021-02-08 22:40:58 · 145 阅读 · 0 评论