每日一题
文章平均质量分 66
Annimi@
这个作者很懒,什么都没留下…
展开
-
1247. 交换字符使得字符串相同
有两个长度相同的字符串 s1 和 s2,且它们其中 只含有 字符 “x” 和 “y”,你需要通过「交换字符」的方式使这两个字符串相同。每次「交换字符」的时候,你都可以在两个字符串中各选一个字符进行交换。交换只能发生在两个不同的字符串之间,绝对不能发生在同一个字符串内部。也就是说,我们可以交换 s1[i] 和 s2[j],但不能交换 s1[i] 和 s1[j]。最后,请你返回使 s1 和 s2 相同的最小交换次数,如果没有方法能够使得这两个字符串相同,则返回 -1。:1。原创 2023-02-25 21:49:05 · 48 阅读 · 0 评论 -
2357. 使数组中所有元素都等于零
给你一个非负整数数组 nums。在一步操作中,你必须:选出一个正整数 x ,x 需要小于或等于 nums 中 最小 的 非零 元素。nums 中的每个正整数都减去 x。返回使 nums 中所有元素都等于 0 需要的 最少 操作数。:3第一步操作:选出 x = 1 ,之后 nums = [0,4,0,2,4]。第二步操作:选出 x = 2 ,之后 nums = [0,2,0,0,2]。第三步操作:选出 x = 2 ,之后 nums = [0,0,0,0,0]。:0。原创 2023-02-24 21:27:38 · 261 阅读 · 0 评论 -
1138. 字母板上的路径
我们从一块字母板上的位置 (0, 0) 出发,该坐标对应的字符为 board[0][0]。在本题里,字母板为board = [“abcde”, “fghij”, “klmno”, “pqrst”, “uvwxy”, “z”],如下所示。我们可以按下面的指令规则行动:如果方格存在,‘U’ 意味着将我们的位置上移一行;如果方格存在,‘D’ 意味着将我们的位置下移一行;如果方格存在,‘L’ 意味着将我们的位置左移一列;如果方格存在,‘R’ 意味着将我们的位置右移一列;转载 2023-02-12 17:01:04 · 35 阅读 · 0 评论 -
2335. 装满杯子需要的最短总时长
现有一台饮水机,可以制备冷水、温水和热水。每秒钟,可以装满 2 杯 不同 类型的水或者 1 杯任意类型的水。给你一个下标从 0 开始、长度为 3 的整数数组 amount ,其中 amount[0]、amount[1] 和 amount[2] 分别表示需要装满冷水、温水和热水的杯子数量。返回装满所有杯子所需的 最少 秒数。:4:下面给出一种方案:第 1 秒:装满一杯冷水和一杯温水。第 2 秒:装满一杯温水和一杯热水。第 3 秒:装满一杯温水和一杯热水。第 4 秒:装满一杯温水。转载 2023-02-11 16:34:15 · 31 阅读 · 0 评论 -
1797. 设计一个验证系统
你需要设计一个包含验证码的验证系统。每一次验证中,用户会收到一个新的验证码,这个验证码在 currentTime 时刻之后 timeToLive 秒过期。如果验证码被更新了,那么它会在 currentTime (可能与之前的 currentTime 不同)时刻延长 timeToLive 秒。原创 2023-02-09 17:37:22 · 39 阅读 · 0 评论 -
1604. 警告一小时内使用相同员工卡大于等于三次的人
力扣公司的员工都使用员工卡来开办公室的门。每当一个员工使用一次他的员工卡,安保系统会记录下员工的名字和使用时间。如果一个员工在一小时时间内使用员工卡的次数大于等于三次,这个系统会自动发布一个 警告。给你字符串数组 keyName 和 keyTime ,其中 [keyName[i], keyTime[i]] 对应一个人的名字和他在 某一天 内使用员工卡的时间。使用时间的格式是 24小时制 ,形如 “HH:MM” ,比方说 “23:51” 和 “09:49”。原创 2023-02-07 11:39:17 · 59 阅读 · 0 评论 -
2331. 计算布尔二叉树的值
给你一棵 完整二叉树 的根,这棵树有以下特征:叶子节点 要么值为 0 要么值为 1 ,其中 0 表示 False ,1 表示 True。非叶子节点 要么值为 2 要么值为 3 ,其中 2 表示逻辑或 OR ,3 表示逻辑与 AND。计算 一个节点的值方式如下:如果节点是个叶子节点,那么节点的 值 为它本身,即 True 或者 False。否则,计算 两个孩子的节点值,然后将该节点的运算符对两个孩子值进行 运算。返回根节点 root 的布尔运算值。原创 2023-02-06 11:05:26 · 69 阅读 · 0 评论 -
构造出连续值的最大数目
给你一个长度为 n 的整数数组 coins ,它代表你拥有的 n 个硬币。第 i 个硬币的值为 coins[i]。如果你从这些硬币中选出一部分硬币,它们的和为 x ,那么称,你可以 构造 出 x。请返回从 0 开始(包括 0 ),你最多能 构造 出多少个连续整数。你可能有多个相同值的硬币。:2:8。原创 2023-02-04 10:59:08 · 74 阅读 · 0 评论 -
1145. 二叉树着色游戏
有两位极客玩家参与了一场「二叉树着色」的游戏。游戏中,给出二叉树的根节点 root,树上总共有 n 个节点,且 n 为奇数,其中每个节点上的值从 1 到 n 各不相同。最开始时:「一号」玩家从 [1, n] 中取一个值 x(1转载 2023-02-03 21:09:15 · 36 阅读 · 0 评论 -
1129. 颜色交替的最短路径
在一个有向图中,节点分别标记为 0, 1, …, n-1。图中每条边为红色或者蓝色,且存在自环或平行边。red_edges 中的每一个 [i, j] 对表示从节点 i 到节点 j 的红色有向边。类似地,blue_edges 中的每一个 [i, j] 对表示从节点 i 到节点 j 的蓝色有向边。返回长度为 n 的数组 answer,其中 answer[X] 是从节点 0 到节点 X 的红色边和蓝色边交替出现的最短路径的长度。如果不存在这样的路径,那么 answer[x] = -1。转载 2023-02-02 12:11:19 · 36 阅读 · 0 评论 -
2325. 解密消息
给你字符串 key 和 message ,分别表示一个加密密钥和一段加密消息。解密 message 的步骤如下:使用 key 中 26 个英文小写字母第一次出现的顺序作为替换表中的字母 顺序。将替换表与普通英文字母表对齐,形成对照表。按照对照表 替换 message 中的每个字母。空格 ’ ’ 保持不变。原创 2023-02-01 11:22:03 · 80 阅读 · 0 评论 -
判断矩阵是否是一个 X 矩阵
如果一个正方形矩阵满足下述 全部 条件,则称之为一个 X 矩阵 :矩阵对角线上的所有元素都 不是 0矩阵中所有其他元素都是 0给你一个大小为 n x n 的二维整数数组 grid ,表示一个正方形矩阵。如果 grid 是一个 X 矩阵 ,返回 true;否则,返回 false。:true:矩阵如上图所示。X 矩阵应该满足:绿色元素(对角线上)都不是 0 ,红色元素都是 0。因此,grid 是一个 X 矩阵。:false:矩阵如上图所示。原创 2023-01-31 22:16:03 · 131 阅读 · 0 评论 -
生成平衡数组的方案数
给你一个整数数组 nums。你需要选择一个下标(下标从开始)并删除对应的元素。请注意剩下元素的下标可能会因为删除操作而发生改变。比方说,如果 nums = [6,1,7,4,1] ,那么:选择删除下标 1 ,剩下的数组为 nums = [6,7,4,1]。选择删除下标 2 ,剩下的数组为 nums = [6,1,4,1]。选择删除下标 4 ,剩下的数组为 nums = [6,1,7,4]。如果一个数组满足奇数下标元素的和与偶数下标元素的和相等,该数组就是一个。原创 2023-01-28 22:57:58 · 40 阅读 · 0 评论 -
1813. 句子相似性 III
一个句子是由一些单词与它们之间的单个空格组成,且句子的开头和结尾没有多余空格。比方说,“Hello World” ,“HELLO” ,“hello world hello world” 都是句子。每个单词都包含大写和小写英文字母。如果两个句子 sentence1 和 sentence2 ,可以通过往其中一个句子插入一个任意的句子()而得到另一个句子,那么我们称这两个句子是。原创 2023-01-18 21:49:27 · 35 阅读 · 0 评论 -
重排字符形成目标字符串
给你两个下标从 0 开始的字符串 s 和 target。你可以从 s 取出一些字符并将其重排,得到若干新的字符串。从 s 中取出字符并重新排列,返回可以形成 target 的 最大 副本数。:2对于 “code” 的第 1 个副本,选取下标为 4 、5 、6 和 7 的字符。对于 “code” 的第 2 个副本,选取下标为 17 、18 、19 和 20 的字符。形成的字符串分别是 “ecod” 和 “code” ,都可以重排为 “code”。原创 2023-01-13 22:49:48 · 63 阅读 · 0 评论