37. 解数独
题目 编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则: 1. 数字 1-9 在每一行只能出现一次。 2. 数字 1-9 在每一列只能出现一次。 3. 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图) 数独部分空格内已填入了数字,空白格用 '.' 表示。 示例 1: 输入:board = [["5","3",".",".","7",".",".",".","."…
题目 编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则: 1. 数字 1-9 在每一行只能出现一次。 2. 数字 1-9 在每一列只能出现一次。 3. 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图) 数独部分空格内已填入了数字,空白格用 '.' 表示。 示例 1: 输入:board = [["5","3",".",".","7",".",".",".","."…
题目 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 1. 数字 1-9 在每一行只能出现一次。 2. 数字 1-9 在每一列只能出现一次。 3. 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图) 注意: * 一个有效的数独(部分已被填充)不一定是可解的。 * 只需要根据以上规则,验证已经填入的数字是否有效即可。 * 空白格用 '.' 表示。 示例 1: 输入:board = [["5","3",".",".","7&…
题目 Alice 和 Bob 在一个长满鲜花的环形草地玩一个回合制游戏。环形的草地上有一些鲜花,Alice 到 Bob 之间顺时针有 x 朵鲜花,逆时针有 y 朵鲜花。 游戏过程如下: 1. Alice 先行动。 2. 每一次行动中,当前玩家必须选择顺时针或者逆时针,然后在这个方向上摘一朵鲜花。 3. 一次行动结束后,如果所有鲜花都被摘完了,那么 当前 玩家抓住对手并赢得游戏的胜利。 给你两个整数 n 和 m ,你的任务是求出满足以下条件的所有 (x, y) 对: * 按照上述规则,Alice 必须赢得游戏。 * Alice 顺时针方向上的鲜花数目 x 必须在区间 [1,n] 之间。 * Alice 逆时针方向上的鲜花数目 y…
题目 给你一个大小为 n x n 的整数方阵 grid。返回一个经过如下调整的矩阵: * 左下角三角形(包括中间对角线)的对角线按 非递增顺序 排序。 * 右上角三角形 的对角线按 非递减顺序 排序。 示例 1: 输入: grid = [[1,7,3],[9,8,2],[4,5,6]] 输出: [[8,2,3],[9,6,7],[4,5,1]] 解释: 标有黑色箭头的对角线(左下角三角形)应按非递增顺序排序: * [1, 8, 6] 变为 [8, 6,…
题目 给你一个大小为 n x m 的二维整数矩阵 grid,其中每个元素的值为 0、1 或 2。 V 形对角线段 定义如下: * 线段从 1 开始。 * 后续元素按照以下无限序列的模式排列:2, 0, 2, 0, ...。 * 该线段: * 起始于某个对角方向(左上到右下、右下到左上、右上到左下或左下到右上)。 * 沿着相同的对角方向继续,保持 序列模式 。 * 在保持 序列模式 的前提下,最多允许 一次顺时针 90 度转向 另一个对角方向。 返回最长的 V 形对角线段 的 长度 。如果不存在有效的线段,则返回 0。 示例 1: 输入:…
题目 给你一个下标从 0 开始的二维整数数组 dimensions。 对于所有下标 i(0 <= i < dimensions.length),dimensions[i][0] 表示矩形 i 的长度,而 dimensions[i][1] 表示矩形 i 的宽度。 返回对角线最 长 的矩形的 面积 。如果存在多个对角线长度相同的矩形,返回面积最 大 的矩形的面积。 示例 1: 输入:dimensions = [[9,3],[8,6]] 输出:48 解释: 下标 = 0,长度 = 9,宽度…
题目 给你一个大小为 m x n 的矩阵 mat ,请以对角线遍历的顺序,用一个数组返回这个矩阵中的所有元素。 示例 1: 输入:mat = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,4,7,5,3,6,8,9] 示例 2: 输入:mat = [[1,2],[3,4]] 输出:[1,2,3,4] 提示: * m == mat.length * n…
题目 给你一个二进制数组 nums ,你需要从中删掉一个元素。 请你在删掉元素的结果数组中,返回最长的且只包含 1 的非空子数组的长度。 如果不存在这样的子数组,请返回 0 。 提示 1: 输入:nums = [1,1,0,1] 输出:3 解释:删掉位置 2 的数后,[1,1,1] 包含 3 个 1 。 示例 2: 输入:nums = [0,1,1,1,0,1,1,0,1] 输出:5 解释:删掉位置 4…