假设我们有一个数字 n 和一个名为 enemies 的二维矩阵。这里 n 表示有 n 个人,编号从 [0, n - 1] 开始。现在 enemies 中的每一行都包含 [a, b],表示 a 和 b 是敌人。我们必须检查是否可以将 n 个人分成两组,使得没有两个敌人出现在同一组中。所以,如果输入类似于 n = 4,enemies = [[0, 3], [3, 2]],则输出将为 True,因为我们可以有以下两组 [0, 1, 2] ... 阅读更多
假设我们有一个方形矩阵,我们必须将其逆时针旋转 90 度。147258369则输出将为789456123为了解决这个问题,我们将遵循以下步骤 -如果矩阵为空,则返回一个空列表n := 矩阵的行数for 矩阵中的每一行,执行以下操作反转该行for i in range 0 to n−1, dofor j in range 0 to i−1, doswap matrix[i, j] and matrix[j, i]return matrix让我们看看以下实现以更好地理解 -示例实时演示类解决方案: def solve(self, matrix): if not matrix or not matrix[0]: return [] n ... 阅读更多
假设我们有一个有向图,我们需要找到它的逆图,如果一条边从 u 指向 v,那么现在它就从 v 指向 u。这里的输入将是一个邻接表,如果图中有 n 个节点,则节点将是 (0, 1, ..., n-1)。所以,如果输入是这样的,那么输出将是这样的。为了解决这个问题,我们将遵循以下步骤 -ans := 一个包含 n 个不同列表的列表,其中 n 是顶点数对于每个索引 i 和图中的邻接列表 l,执行以下操作对于 l 中的每个 x,执行以下操作在 ans[x] 的末尾插入 i返回 ... 阅读更多