Keshawn_lu's Blog

Keshawn_lu's Blog

Become a better myself.

Leetcode 1662. 检查两个字符串数组是否相等
题目简介:给你两个字符串数组 word1 和 word2 。如果两个数组表示的字符串相同,返回 true ;否则,返回 false 。 数组表示的字符串 是由数组中的所有元素 按顺序 连接形成的字符串。 示例 1: 123456输入:word1 = ["ab", "c"], word2 = ["a", "bc"]输出:true解释:word1 表示的字符串为 "ab" + "c" -> "abc"word2 表示的字符串为 "a&qu...
Leetcode 481. 神奇字符串
题目简介:神奇字符串 s 仅由 '1' 和 '2' 组成,并需要遵守下面的规则: 神奇字符串 s 的神奇之处在于,串联字符串中 '1' 和 '2' 的连续出现次数可以生成该字符串。 s 的前几个元素是 s = "1221121221221121122……" 。如果将 s 中连续的若干 1 和 2 进行分组,可以得到 "1 22 11 2 1 22 1 22 11 2 11 22 ......" 。每组中 1 或者 2 的出现次数分别是 "1 2 2 1 1 2 1 2 2...
Leetcode 784. 字母大小写全排列
题目简介:给定一个字符串 s ,通过将字符串 s 中的每个字母转变大小写,我们可以获得一个新的字符串。 返回 所有可能得到的字符串集合 。以 任意顺序 返回输出。 示例 1: 12输入:s = "a1b2"输出:["a1b2", "a1B2", "A1b2", "A1B2"] 示例 2: 12输入: s = "3z4"输出: ["3z4","3Z4"] 提示: 1 <= s.length <= 12 s 由小写英文字...
Leetcode 907. 子数组的最小值之和
题目简介:给定一个整数数组 arr,找到 min(b) 的总和,其中 b 的范围为 arr 的每个(连续)子数组。 由于答案可能很大,因此 返回答案模 10^9 + 7 。 示例 1: 12345输入:arr = [3,1,2,4]输出:17解释:子数组为 [3],[1],[2],[4],[3,1],[1,2],[2,4],[3,1,2],[1,2,4],[3,1,2,4]。 最小值为 3,1,2,4,1,1,2,1,1,1,和为 17。 思路:对于元素arr[i],我们首先找到左右两边的端点,使其能在这个范围内为最小值。 假设左端点为L,右端点为R,则范围为(L, R)。【注意都是开区...
Leetcode 1822. 数组元素积的符号
题目简介:已知函数 signFunc(x) 将会根据 x 的正负返回特定值: 如果 x 是正数,返回 1 。 如果 x 是负数,返回 -1 。 如果 x 是等于 0 ,返回 0 。 给你一个整数数组 nums 。令 product 为数组 nums 中所有元素值的乘积。 返回 signFunc(product) 。 示例 1: 123输入:nums = [-1,-2,-3,-4,3,2,1]输出:1解释:数组中所有值的乘积是 144 ,且 signFunc(144) = 1 示例 2: 123输入:nums = [1,5,0,2,-3]输出:0解释:数组中所有值的乘积是 0 ,且 s...
Leetcode 862. 和至少为 K 的最短子数组
题目简介:给你一个整数数组 nums 和一个整数 k ,找出 nums 中和至少为 k 的 最短非空子数组 ,并返回该子数组的长度。如果不存在这样的 子数组 ,返回 -1 。 子数组 是数组中 连续 的一部分。 示例 1: 12输入:nums = [1], k = 1输出:1 示例 2: 12输入:nums = [1,2], k = 4输出:-1 示例 3: 12输入:nums = [2,-1,2], k = 3输出:3 提示: 1 <= nums.length <= 10^5 -10^5 <= nums[i] <= 10^5 1 <= k <= 1...
Leetcode 934. 最短的桥
题目简介:给你一个大小为 n x n 的二元矩阵 grid ,其中 1 表示陆地,0 表示水域。 岛 是由四面相连的 1 形成的一个最大组,即不会与非组内的任何其他 1 相连。grid 中 恰好存在两座岛 。 你可以将任意数量的 0 变为 1 ,以使两座岛连接起来,变成 一座岛 。 返回必须翻转的 0 的最小数目。 示例 1: 12输入:grid = [[0,1],[1,0]]输出:1 示例 2: 12输入:grid = [[0,1,0],[0,0,0],[0,0,1]]输出:2 示例 3: 12输入:grid = [[1,1,1,1,1],[1,0,0,0,1],[1,0,1,0,1]...
Leetcode 915. 分割数组
题目简介:给定一个数组 nums ,将其划分为两个连续子数组 left 和 right, 使得: left 中的每个元素都小于或等于 right 中的每个元素。 left 和 right 都是非空的。 left 的长度要尽可能小。 在完成这样的分组后返回 left 的 长度 。 用例可以保证存在这样的划分方法。 示例 1: 123输入:nums = [5,0,3,8,6]输出:3解释:left = [5,0,3],right = [8,6] 示例 2: 123输入:nums = [1,1,1,0,6,12]输出:4解释:left = [1,1,1,0],right = [6,12] ...
Leetcode 1768. 交替合并字符串
题目简介:给你两个字符串 word1 和 word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。 返回 合并后的字符串 。 示例 1: 123456输入:word1 = "abc", word2 = "pqr"输出:"apbqcr"解释:字符串合并情况如下所示:word1: a b cword2: p q r合并后: a p b q c r 提示: 1 <= word1.length, word2.leng...
Leetcode 1235. 规划兼职工作
题目简介:你打算利用空闲时间来做兼职工作赚些零花钱。 这里有 n 份兼职工作,每份工作预计从 startTime[i] 开始到 endTime[i] 结束,报酬为 profit[i]。 给你一份兼职工作表,包含开始时间 startTime,结束时间 endTime 和预计报酬 profit 三个数组,请你计算并返回可以获得的最大报酬。 注意,时间上出现重叠的 2 份工作不能同时进行。 如果你选择的工作在时间 X 结束,那么你可以立刻进行在时间 X 开始的下一份工作。 示例 1: 12345输入:startTime = [1,2,3,3], endTime = [3,4,5,6], pr...
avatar
鸣蜩十九
Always
友链
CSDN BiliBili