力扣算法每日一题
文章平均质量分 71
一白丁
道阻且长,行则将至
展开
-
leetcode算法题每日一练- 猜字谜
leetcode算法题每日一练- 猜字谜题目分析实现总结题目外国友人仿照中国字谜设计了一个英文版猜字谜小游戏,请你来猜猜看吧。字谜的迷面 puzzle 按字符串形式给出,如果一个单词 word 符合下面两个条件,那么它就可以算作谜底:单词 word 中包含谜面 puzzle 的第一个字母。单词 word 中的每一个字母都可以在谜面 puzzle 中找到。例如,如果字谜的谜面是 “abcdefg”,那么可以作为谜底的单词有 “faced”, “cabbage”, 和 “baggage”;而 “原创 2021-02-26 17:13:24 · 649 阅读 · 0 评论 -
leetcode算法题每日一练- 翻转图像
leetcode算法题每日一练- 翻转图像题目解析实现总结题目给定一个二进制矩阵 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],[1,1,原创 2021-02-24 17:08:37 · 385 阅读 · 0 评论 -
leetcode算法题每日一练- 爱生气的书店老板
leetcode算法题每日一练- 爱生气的书店老板题目分析实现总结题目今天,书店老板有一家店打算试营业customers.length 分钟。每分钟都有一些顾客(customers[i])会进入书店,所有这些顾客都会在那一分钟结束后离开。在某些时候,书店老板会生气。 如果书店老板在第 i 分钟生气,那么 grumpy[i] = 1,否则 grumpy[i] = 0。 当书店老板生气时,那一分钟的顾客就会不满意,不生气则他们是满意的。书店老板知道一个秘密技巧,能抑制自己的情绪,可以让自己连续 X 分钟原创 2021-02-23 11:18:01 · 434 阅读 · 0 评论 -
leetcode算法题每日一练-托普利茨矩阵
leetcode算法题每日一练-托普利茨矩阵题目实现总结题目给你一个 m x n 的矩阵 matrix 。如果这个矩阵是托普利茨矩阵,返回 true ;否则,返回 false 。如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利茨矩阵 。示例 1:输入:matrix = [[1,2,3,4],[5,1,2,3],[9,5,1,2]]输出:true解释:在上述矩阵中, 其对角线为:“[9]”, “[5, 5]”, “[1, 1, 1]”, “[2, 2, 2]”,原创 2021-02-22 16:29:24 · 195 阅读 · 0 评论 -
leetcode算法题每日一练-数组的度
leetcode算法题每日一练-数组的度题目分析实现总结题目给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。示例 1:输入:[1, 2, 2, 3, 1]输出:2解释:输入数组的度是2,因为元素1和2的出现频数最大,均为2.连续子数组里面拥有相同度的有如下所示:[1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], [原创 2021-02-20 14:32:55 · 306 阅读 · 0 评论 -
leetcode算法题每日一练-K 个不同整数的子数组
leetcode算法题每日一练-K 个不同整数的子数组题目分析实现结果题目给定一个正整数数组 A,如果 A 的某个子数组中不同整数的个数恰好为 K,则称 A 的这个连续、不一定独立的子数组为好子数组。(例如,[1,2,3,1,2] 中有 3 个不同的整数:1,2,以及 3。)返回 A 中好子数组的数目。示例 1:输入:A = [1,2,1,2,3], K = 2输出:7解释:恰好由 2 个不同整数组成的子数组:[1,2], [2,1], [1,2], [2,3], [1,2,1], [2,1原创 2021-02-09 16:37:22 · 340 阅读 · 0 评论 -
leetcode算法题每日一练-最长湍流子数组
leetcode算法题每日一练-最长湍流子数组题目分析实现总结题目当 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 12:09:04 · 144 阅读 · 0 评论 -
leetcode算法题每日一练-非递减数列
leetcode算法题每日一练-非递减数列题目分析实现结果题目给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中所有的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。示例 1:输入: nums = [4,2,3]输出: true解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。示例 2:输入: nums = [4,2,原创 2021-02-07 16:23:30 · 295 阅读 · 0 评论 -
leetcode算法题每日一练-汇总区间
leetcode算法题每日一练-汇总区间题目分析复杂度分析总结题目给定一个无重复元素的有序整数数组 nums 。返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。列表中的每个区间范围 [a,b] 应该按如下格式输出:“a->b” ,如果 a != b“a” ,如果 a == b示例 1:输入:nums = [0,1,2,4,5,7]输出:[“0->2”,“4原创 2021-01-10 21:36:30 · 321 阅读 · 0 评论 -
leetcode算法题每日一练-旋转数组
旋转数组题目分析第一种解法第二种解法第三种解法总结题目给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-100,3,99] 和 k = 2输出: [3,99,-1,-100]解释:原创 2021-01-09 09:10:13 · 204 阅读 · 0 评论 -
leetcode算法题每日一练-较大分组的位置
较大分组的位置题目个人解题思路官方解题思路总结题目在一个由小写字母构成的字符串 s 中,包含由一些连续的相同字符所构成的分组。例如,在字符串 s = “abbxxxxzyy” 中,就含有 “a”, “bb”, “xxxx”, “z” 和 “yy” 这样的一些分组。分组可以用区间 [start, end] 表示,其中 start 和 end 分别表示该分组的起始和终止位置的下标。上例中的 “xxxx” 分组用区间表示为 [3,6] 。我们称所有包含大于或等于三个连续字符的分组为 较大分组 。找到每原创 2021-01-06 09:01:39 · 180 阅读 · 0 评论 -
leetcode算法题每日一练- 斐波那契数
斐波那契数题目分析第一种解法进行递归调用。第二种解法动态规划矩阵二次幂通项公式总结题目斐波那契数,通常用 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) = 1 + 0 = 1示例 2:输入:3输出:2原创 2021-01-04 22:00:36 · 236 阅读 · 0 评论