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

如何将指定矩阵传入Python的setZeroes方法并打印输出以调试?

给setZeroes方法传测试矩阵并添加调试打印的方案

我来帮你搞定这个问题,其实很简单,只需要在类的外面添加测试代码,同时在方法的关键节点插入打印语句就行,具体看下面的完整示例代码:

class Solution(object):
    def setZeroes(self, matrix):
        # 调试:打印原始矩阵
        print("原始矩阵:")
        for row in matrix:
            print(row)
        
        col0 = False
        R = len(matrix)
        C = len(matrix[0])
        
        for i in range(R):
            if matrix[i][0] == 0:
                col0 = True
            for j in range(1, C):
                if matrix[i][j] == 0:
                    matrix[0][j] = 0
                    matrix[i][0] = 0
        
        # 调试:打印标记完行/列后的矩阵
        print("\n标记行和列后的矩阵:")
        for row in matrix:
            print(row)
        
        # 更新非首行首列的元素
        for i in range(1, R):
            for j in range(1, C):
                if not matrix[i][0] or not matrix[0][j]:
                    matrix[i][j] = 0
        
        # 处理首行
        if matrix[0][0] == 0:
            for j in range(C):
                matrix[0][j] = 0
        
        # 处理首列
        if col0:
            for i in range(R):
                matrix[i][0] = 0
        
        # 调试:打印最终结果矩阵
        print("\n最终处理后的矩阵:")
        for row in matrix:
            print(row)

# ---------------------- 测试代码部分 ----------------------
# 定义你要测试的矩阵
test_matrix = [[1,1,1],[1,0,1],[1,1,1]]
# 实例化Solution类
sol = Solution()
# 调用setZeroes方法处理矩阵
sol.setZeroes(test_matrix)

关键说明:

  • 测试代码的位置:必须写在Solution类的外面,这样才能实例化类并调用方法。我们先定义好测试矩阵test_matrix,然后创建Solution的实例sol,再调用sol.setZeroes(test_matrix)把矩阵传进去。
  • 调试打印的位置:我在三个关键节点加了打印:
    1. 方法开头:打印原始矩阵,方便你对比初始状态
    2. 标记完行和列的0之后:看看首行首列的标记是否正确
    3. 方法结尾:打印最终处理后的结果,验证逻辑是否生效

运行这个脚本之后,你就能看到清晰的调试输出,一步步理解这个算法的执行过程啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 18:43:10