假设我们有一个数字 n,我们需要找到序列中的第 n 个值。序列如下所示 -xxyxxyxxyyxxyxxxyyxyyxyyxyyxyyxyy...为了生成下一个值,我们需要遵循以下规则,从 xxy 作为第一项开始 -当我们处于模式的开始时,将其加倍(将字符串与自身连接)。当上次操作是加倍时,将其反转。当上次操作是反转时,将所有 x 与 y 交换,反之亦然。重复这些步骤。因此,如果输入像 n = 5,则输出将是“yyxyyxyyxyyx”为了解决这个问题,我们将遵循以下步骤 -i := 0ret ... 阅读更多
假设我们有两个数字 n 和 m,表示大小为 n x m 的棋盘。我们也有无限数量的 1 x 2 多米诺骨牌。我们需要找到可以放置在棋盘上的多米诺骨牌的最大数量,使得它们不重叠并且每个多米诺骨牌完全位于棋盘内。因此,如果输入像 n = 5,m = 3,则输出将是 7为了解决这个问题,我们将遵循以下步骤 -t := n * m返回 (t / 2) 的商让我们看看以下实现以更好地理解 -示例 实时 ... 阅读更多
假设我们有一个数字 n,表示 n x n 棋盘的长度。我们需要删除所有对四个角之一呈对角线的单元格,并返回空单元格的数量。因此,如果输入像 n = 4,XOOXOXXOOXXOXOOX则输出将是 8。为了解决这个问题,我们将遵循以下公式 -n*n - 2 * n +(n mod 2)让我们看看以下实现以更好地理解 -示例 实时演示类解决方案: def solve(self, n): return n*n - 2 * n + (n%2) ob = Solution() print(ob.solve(4))输入4输出8
假设我们有一个字符串 s,该字符串由“R”和“L”组成,我们需要移除最少的字符数,以便没有连续的“R”和没有连续的“L”。因此,如果输入像“LLLRLRR”,则输出将是“LRLR”为了解决这个问题,我们将遵循以下步骤 -seen := s 的第一个字符ans := s 的第一个字符对于从索引 1 到 s 末尾的每个字符 i,执行如果 i 与 seen 不相同,则ans := ans + iseen := i返回 ans让我们看看以下实现以更好地理解 -示例 实时演示类解决方案: ... 阅读更多