假设我们有一个二进制矩阵,其中 0 代表空单元格,1 代表该单元格中的棋子皇后。我们必须检查是否可以填充此棋盘并获得有效的 n 皇后解。众所周知,n 皇后问题要求在 n × n 的棋盘上放置 n 个皇后,以使任何两个皇后都不能相互攻击。因此,如果输入类似于 1000000000000010000000010,则输出为 True,因为一个解类似于 -1000000100000010100000010。为了解决这个问题,我们将遵循以下步骤 - 定义一个函数 isSafe()。这将获取棋盘,… 阅读更多
假设我们有一个二进制字符串 s。现在假设我们可以取 s 的某个前缀并将其移动到后面。然后,找到需要翻转的字符的最小数量,这样就不会有相同值的连续字符。因此,如果输入类似于 s = "10010101111",则输出将是 2,因为我们可以取前缀 "10",然后将其移动到后面,所以字符串是 "01010111110",然后将最右边第 3 位和第 5 位翻转为 0 ("01010101010")。为了解决这个问题,我们将遵循以下步骤 - ans := s 的大小 N := s 的大小 … 阅读更多
假设我们有两个字符串 s 和 t,我们必须找到 s 中包含 t 的所有字符的最小子字符串的大小。如果没有这样的子字符串存在,则返回 -1。因此,如果输入类似于 s = "thegrumpywizardmakes" t = "wake",则输出将是 10,因为包含 "wake" 的最短子字符串是 "wizardmake"(长度为 10)。为了解决这个问题,我们将遵循以下步骤 - counter := b 中每个字符的频率 start := 0 min_subs := inf rem := b 中不同字符的数量 对于 end 从 0 到 a 的大小,… 阅读更多
假设我们有一个字符串 s,我们必须找到使其成为回文所需的相邻交换的最小数量。如果没有这样的解决方法,则返回 -1。因此,如果输入类似于 s = "xxyy",则输出将是 2,因为我们可以交换中间的 "x" 和 "y",所以字符串是 "xyxy",然后交换前两个 "x" 和 "y" 以得到 "yxxy",这是一个回文。为了解决这个问题,我们将遵循以下步骤 - 定义一个函数 util()。这将获取 s seen := 一个新的映射 对于 i 在 … 阅读更多