LEETCODE 1531. String Compression II 解题思路分析

题目大意:

压缩字符串 II

行程长度编码 是一种常用的字符串压缩方法,它将连续的相同字符(重复 2 次或更多次)替换为字符和表示字符计数的数字(行程长度)。例如,用此方法压缩字符串 “aabccc” ,将 “aa” 替换为 “a2″ ,”ccc” 替换为` “c3” 。因此压缩后的字符串变为 “a2bc3” 。

注意,本问题中,压缩时没有在单个字符后附加计数 ‘1’ 。

给你一个字符串 s 和一个整数 k 。你需要从字符串 s 中删除最多 k 个字符,以使 s 的行程长度编码长度最小。

请你返回删除最多 k 个字符后,s 行程长度编码的最小长度 。

继续阅读
发表在 leetcode | 标签为 , , , , , | 留下评论

LEETCODE 1529. Bulb Switcher IV 解题思路分析

题目大意:

灯泡开关 IV

房间中有 n 个灯泡,编号从 0 到 n-1 ,自左向右排成一行。最开始的时候,所有的灯泡都是  着的。

请你设法使得灯泡的开关状态和 target 描述的状态一致,其中 target[i] 等于 1 第 i 个灯泡是开着的,等于 0 意味着第 i 个灯是关着的。

有一个开关可以用于翻转灯泡的状态,翻转操作定义如下:

  • 选择当前配置下的任意一个灯泡(下标为 i )
  • 翻转下标从 i 到 n-1 的每个灯泡

翻转时,如果灯泡的状态为 0 就变为 1,为 1 就变为 0 。

返回达成 target 描述的状态所需的 最少 翻转次数。

继续阅读
发表在 leetcode | 标签为 , , | 留下评论

LEETCODE 1530. Number of Good Leaf Nodes Pairs 解题思路分析

好叶子节点对的数量

给你二叉树的根节点 root 和一个整数 distance 。

如果二叉树中两个  节点之间的 最短路径长度 小于或者等于 distance ,那它们就可以构成一组 好叶子节点对 。

返回树中 好叶子节点对的数量 。

继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 676. Implement Magic Dictionary 解题思路分析

题目大意:

实现一个魔法字典

实现一个带有buildDict, 以及 search方法的魔法字典。

对于buildDict方法,你将被给定一串不重复的单词来构建一个字典。

对于search方法,你将被给定一个单词,并且判定能否只将这个单词中一个字母换成另一个字母,使得所形成的新单词存在于你构建的字典中。

继续阅读
发表在 leetcode | 标签为 , , , , | 留下评论

LEETCODE 1513. Number of Substrings With Only 1s 解题思路分析

题目大意:

仅含 1 的子串数

给你一个二进制字符串 s(仅由 ‘0’ 和 ‘1’ 组成的字符串)。

返回所有字符都为 1 的子字符串的数目。

由于答案可能很大,请你将它对 10^9 + 7 取模后返回。

继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 1514. Path with Maximum Probability 解题思路分析

题目大意:

概率最大的路径

给你一个由 n 个节点(下标从 0 开始)组成的无向加权图,该图由一个描述边的列表组成,其中 edges[i] = [a, b] 表示连接节点 a 和 b 的一条无向边,且该边遍历成功的概率为 succProb[i] 。

指定两个节点分别作为起点 start 和终点 end ,请你找出从起点到终点成功概率最大的路径,并返回其成功概率。

如果不存在从 start 到 end 的路径,请 返回 0 。只要答案与标准答案的误差不超过 1e-5 ,就会被视作正确答案。

继续阅读
发表在 leetcode | 标签为 , , , | 2条评论

LEETCODE 1510. Stone Game IV 解题思路分析

题目大意:

石子游戏 IV

Alice 和 Bob 两个人轮流玩一个游戏,Alice 先手。

一开始,有 n 个石子堆在一起。每个人轮流操作,正在操作的玩家可以从石子堆里拿走 任意 非零 平方数 个石子。

如果石子堆里没有石子了,则无法操作的玩家输掉游戏。

给你正整数 n ,且已知两个人都采取最优策略。如果 Alice 会赢得比赛,那么返回 True ,否则返回 False 。

继续阅读
发表在 leetcode | 标签为 , , , , , | 留下评论

LEETCODE 523. Continuous Subarray Sum 解题思路分析

题目大意:

连续的子数组和

给定一个包含 非负数 的数组和一个目标 整数 k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,且总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数。

继续阅读
发表在 leetcode | 标签为 , , , , | 留下评论

LEETCODE 739. Daily Temperatures 解题思路分析

题目大意:

每日温度

请根据每日 气温 列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。

例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。

提示:气温 列表长度的范围是 [1, 30000]。每个气温的值的均为华氏度,都是在 [30, 100] 范围内的整数。

继续阅读
发表在 leetcode | 标签为 , , | 留下评论

LEETCODE 130. Surrounded Regions 解题思路分析

题目大意:

被围绕的区域

给定一个二维的矩阵,包含 'X' 和 'O'字母 O)。

找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。

继续阅读
发表在 leetcode | 标签为 , , , | 留下评论