You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现数独棋盘指定坐标所在子网格元素提取函数subgrid_values

数独子网格元素提取函数实现

实现思路

  • 9x9数独按3行3列划分为9个3x3子网格,首先计算指定坐标所属子网格的边界:子网格起始行号为(r // 3) * 3,起始列号为(c // 3) * 3,覆盖起始位置往后的3行3列
  • 遍历该3x3区域所有元素,过滤掉代表空位的0,收集剩余非零元素即可得到结果

完整代码实现

def subgrid_values(board, r, c):
    # 计算所属3x3子网格的起始行、起始列
    start_r = (r // 3) * 3
    start_c = (c // 3) * 3
    result = []
    # 遍历子网格所有元素
    for i in range(start_r, start_r + 3):
        for j in range(start_c, start_c + 3):
            if board[i][j] != 0:
                result.append(board[i][j])
    return result

测试验证

# 题目给出的数独棋盘
big = [
    [0, 0, 0, 0, 0, 0, 0, 0, 0],
    [4, 0, 0, 7, 8, 9, 0, 0, 0],
    [7, 8, 0, 0, 0, 0, 0, 5, 6],
    [0, 2, 0, 3, 6, 0, 8, 0, 0],
    [0, 0, 5, 0, 0, 7, 0, 1, 0],
    [8, 0, 0, 2, 0, 0, 0, 0, 5],
    [0, 0, 1, 6, 4, 0, 9, 7, 0],
    [0, 0, 0, 9, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 3, 0, 0, 0, 2]
]

print(subgrid_values(big, 4, 5))
# 输出:[3, 6, 7, 2],和预期结果一致

内容的提问来源于stack exchange,提问作者Bryan Hii

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 11:33:01