Exemplo n.º 1
0
        num = 1
        for i in range(0, round):
            # 上边
            for j in range(0, n - 1 - 2 * i):
                matrix[i][i + j] = num
                num = num + 1
            # 右边
            for j in range(0, n - 1 - 2 * i):
                matrix[i + j][n - 1 - i] = num
                num = num + 1
            # 下边
            for j in range(0, n - 1 - 2 * i):
                matrix[n - 1 - i][n - 1 - i - j] = num
                num = num + 1
            # 左边
            for j in range(0, n - 1 - 2 * i):
                matrix[n - 1 - i - j][i] = num
                num = num + 1

        # 如果n为奇数,还需要在最中间放最后一个数字
        if n % 2 == 1:
            matrix[n // 2][n // 2] = num
        return matrix


s = Solution1()
nArr = [2, 3, 4]
for i in range(0, len(nArr)):
    matrix = s.generateMatrix(nArr[i])
    PrintUtil.print_2d_num_array(matrix)
Exemplo n.º 2
0
        for i in range(0,rowLen):
            for j in range(0,columnLen):
                if matrix[i][j] == 0:
                    if rowList.count(i) == 0:
                        rowList.append(i)
                    if columnList.count(j) == 0:
                        columnList.append(j)
        for i in range(0,len(rowList)):
            matrix[rowList[i]] = [0 for i in range(0,columnLen)]
        for i in range(0,len(columnList)):
            columnIndex = columnList[i]
            for j in range(0,rowLen):
                matrix[j][columnIndex] = 0
        return

matrixArr = [[
  [0,1,2,0],
  [3,4,5,2],
  [1,3,1,5]
],[
  [1,1,1],
  [1,0,1],
  [1,1,1]
]]
s = Solution1()
for i in range(0,len(matrixArr)):
    PrintUtil.print_2d_num_array(matrixArr[i])
    print("--------------")
    s.setZeroes(matrixArr[i])
    PrintUtil.print_2d_num_array(matrixArr[i])
    print("--------------")