922.按奇偶排序数组 II按奇偶排序数组 II给定一个非负整数数组 nums,nums 中一半整数是奇数,一半整数是偶数。 对数组进行排序,以便当 nums[i] 为奇数时,i 也是奇数;当 nums[i] 为偶数时,i 也是偶数。 你可以返回任何满足上述条件的数组作为答案。 2025-01-04 简单 #简单难度 #双指针 #数组
921.使括号有效的最少添加使括号有效的最少添加只有满足下面几点之一,括号字符串才是有效的: 它是一个空字符串,或者 它可以被写成 AB(A 与 B 连接), 其中 A 和 B 都是有效字符串,或者 它可以被写作 (A),其中 A 是有效字符串。 给定一个括号字符串 s ,移动 N 次,你就可以在字符串的任何位置插入一个括号。 返回 为使结果字符串 s 有效而必须添加的括号的最少数量。 2025-01-02 中等 #中等难度 #贪心 #栈 #字符串
920.播放列表数量播放列表数量你的音乐播放器里有 n 首不同的歌,你在旅途中听歌。你希望旅途中听到的歌的数量尽可能多。 给你整数 n 、goal 和 k ,返回长度为 goal 的播放列表的数量: 播放列表中必须包含 n 首不同的歌。 播放列表中的歌不能重复,除非两首歌之间的间隔至少为 k 首其他歌。 由于答案可能很大,返回结果对 10^9 + 7 取余。 2024-12-31 困难 #困难难度 #动态规划 #数学
919.完全二叉树插入器完全二叉树插入器完全二叉树是每一层(除最后一层外)都是完全填充(即节点数达到最大)且所有的节点都尽可能地集中在左侧的二叉树。 设计一个用完全二叉树初始化的数据结构 CBTInserter,它支持以下操作: CBTInserter(TreeNode root) 使用根节点为 root 的给定树初始化该数据结构; CBTInserter.insert(int v) 向树中插入一个新节点,节点类型为 2024-12-28 中等 #中等难度 #设计 #树 #广度优先搜索
918.环形子数组的最大和环形子数组的最大和给定一个长度为 n 的环形整数数组 nums ,返回 nums 的非空 子数组的最大可能和。 环形数组意味着数组的末端将会与开头相连呈环状。形式上, nums[i] 的下一个元素是 nums[(i + 1) % n] , nums[i] 的前一个元素是 nums[(i - 1 + n) % n] 。 子数组最多只能包含固定缓冲区 nums 中的每个元素一次。 2024-12-26 中等 #动态规划 #中等难度 #数组
917.仅仅反转字母仅仅反转字母给你一个字符串 s 。根据下述规则反转字符串: 所有非英文字母保留在原有位置。 所有英文字母(小写或大写)位置反转。 返回反转后的字符串。 2024-12-24 简单 #简单难度 #双指针 #字符串
916.单词子集单词子集给你两个字符串数组 words1 和 words2。 如果 b 是 a 的子集,即 b 中的每个字母都在 a 中出现,则称 a 是 b 的超集。 返回 words1 中所有满足对于 words2 中的每个单词 b,a 都是 b 的超集的单词 a。 2024-12-21 中等 #中等难度 #数组 #哈希表 #字符串
915.分割数组分割数组给定一个数组 nums ,将其划分为两个连续子数组 left 和 right, 使得: left 中的每个元素都小于或等于 right 中的每个元素。 left 和 right 都是非空的。 left 的长度要尽可能小。 返回划分后 left 的长度。 2024-12-19 中等 #中等难度 #数组