4.3k4 分钟

1054. 距离相等的条形码 难度中等 在一个仓库里,有一排条形码,其中第 i 个条形码为 barcodes[i] 。 请你重新排列这些条形码,使其中任意两个相邻的条形码不能相等。 你可以返回任何满足该要求的答案,此题保证存在答案。 示例 1: 输入:barcodes = [1,1,1,2,2,2] 输出:[2,1,2,1,2,1] 示例 2: 输入:barcodes = [1,1,1,1,2,2,3,3] 输出:[1,3,1,3,2,1,2,1] 提示: 1 <= barcodes.length <= 10000 1 <
5.3k5 分钟

1330. 翻转子数组得到最大的数组值 难度困难 给你一个整数数组 nums 。「数组值」定义为所有满足 0 <= i < nums.length-1 的 |nums[i]-nums[i+1]| 的和。 你可以选择给定数组的任意子数组,并将该子数组翻转。但你只能执行这个操作 一次 。 请你找到可行的最大 数组值 。 示例 1: 输入:nums = [2,3,1,5,4] 输出:10 解释:通过翻转子数组 [3,1,5] ,数组变成 [2,5,1,3,4] ,数组值为 10 。 示例 2: 输入:nums = [2,4,9,24,2,1
4.7k4 分钟

1016. 子串能表示从 1 到 N 数字的二进制串 难度 给定一个二进制字符串 s 和一个正整数 n ,如果对于 [1, n] 范围内的每个整数,其二进制表示都是 s 的 子字符串 ,就返回 true ,否则返回 false 。 子字符串 是字符串中连续的字符序列。 示例 1: 输入:s = "0110", n = 3 输出:true 示例 2: 输入:s = "0110", n = 4' 输出:false 提示: 1 <= s.length <
5.3k5 分钟

2663. 字典序最小的美丽字符串 难度困难 如果一个字符串满足以下条件,则称其为 美丽字符串 : 它由英语小写字母表的前 k 个字母组成。 它不包含任何长度为 2 或更长的回文子字符串。 给你一个长度为 n 的美丽字符串 s 和一个正整数 k 。 请你找出并返回一个长度为 n 的美丽字符串,该字符串还满足:在字典序大于 s 的所有美丽字符串中字典序最小。如果不存在这样的字符串,则返回一个空字符串。 对于长度相同的两个字符串 a 和 b ,如果字符串 a 在与字符串 b 不同的第一个位置上的字符字典序更大,则字符串 a 的字典序大于字符串
3.7k3 分钟

LCP 79. 提取咒文 难度中等 随着兽群逐渐远去,一座大升降机缓缓的从地下升到了远征队面前。借由这台升降机,他们将能够到达地底的永恒至森。 在升降机的操作台上,是一个由魔法符号组成的矩阵,为了便于辨识,我们用小写字母来表示。 matrix[i][j] 表示矩阵第 i 行 j 列的字母。该矩阵上有一个提取装置,可以对所在位置的字母提取。 提取装置初始位于矩阵的左上角 [0,0] ,可以通过每次操作移动到上、下、左、右相邻的 1 格位置中。提取装置每次移动或每次提取均记为一次操作。 远征队需要按照顺序,从矩阵中逐一取出字母以组成 mantra ,才能够成功的启动升降机。请返回他
8.9k8 分钟

1263. 推箱子 难度困难 「推箱子」是一款风靡全球的益智小游戏,玩家需要将箱子推到仓库中的目标位置。 游戏地图用大小为 m x n 的网格 grid 表示,其中每个元素可以是墙、地板或者是箱子。 现在你将作为玩家参与游戏,按规则将箱子 'B' 移动到目标位置 'T' : 玩家用字符 'S' 表示,只要他在地板上,就可以在网格中向上、下、左、右四个方向移动。 地板用字符 '.' 表示,意味着可以自由行走。 墙用字符 '#' 表示,意味着障碍物,不能通行。 箱子仅有一个,用字符 &#
8.5k8 分钟

2662. 前往目标的最小代价 难度中等 给你一个数组 start ,其中 start = [startX, startY] 表示你的初始位置位于二维空间上的 (startX, startY) 。另给你一个数组 target ,其中 target = [targetX, targetY] 表示你的目标位置 (targetX, targetY) 。 从位置 (x1, y1) 到空间中任一其他位置 (x2, y2) 的代价是 |x2 - x1| + |y2 - y1| 。 给你一个二维数组 specialRoads ,表示空间中存在的一些
4.9k4 分钟

2447. 最大公因数等于 K 的子数组数目 难度中等 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 nums 的子数组中元素的最大公因数等于 k 的子数组数目。 子数组 是数组中一个连续的非空序列。 数组的最大公因数 是能整除数组中所有元素的最大整数。 示例 1: 输入:nums = [9,3,1,2,6,3], k = 3 输出:4 解释:nums 的子数组中,以 3 作为最大公因数的子数组如下: [9,3,1,2,6,3] [9,3,1,2,6,3] [9,3,1,2,6,3] [9,3,1,2,6,3] 示例 2: 输入:n
3.8k3 分钟

1003. 检查替换后的词是否有效 难度中等 给你一个字符串 s ,请你判断它是否 有效 。 字符串 s 有效 需要满足:假设开始有一个空字符串 t = "" ,你可以执行 任意次 下述操作将 t 转换为 s : 将字符串 "abc" 插入到 t 中的任意位置。形式上, t 变为 tleft + "abc" + tright ,其中 t == tleft + tright 。注意, tleft 和 tright 可能为 空 。 如果字符串 s 有效,则返回
4.2k4 分钟

2106. 摘水果 难度困难 在一个无限的 x 坐标轴上,有许多水果分布在其中某些位置。给你一个二维整数数组 fruits ,其中 fruits[i] = [positioni, amounti] 表示共有 amounti 个水果放置在 positioni 上。 fruits 已经按 positioni 升序排列 ,每个 positioni 互不相同 。 另给你两个整数 startPos 和 k 。最初,你位于 startPos 。从任何位置,你可以选择 向左或者向右 走。在 x 轴上每移动 一个单位 ,就记作 一步 。你总共可以走 最多 k