不知道为啥在牛客上一直编译不通过,我在本地运行很正常呀~
import re
import numpy as np
import math
def printIncircle( matrix, columns, rows, start):
endX = columns -1 - start
endY = rows-1 - start
res = []
# 从左往右打印
for i in range(start, endX+1):
number = matrix[start][i]
#print ("one")
res.append(number)
print(number)
# 从上往下打印
if start < endY:
for i in range(start + 1, endY+1):
number = matrix[i][endX]
print ("two")
res.append(number)
print (number)
# 从右往左打印
if start < endX and start < endY:
for i in range(endX-1,start-1,-1):
#print ("i:%s"%i)
number = matrix[endY][i]
res.append(number)
#print ("three")
print (number)
#从下往上打印
if endY >= start+1 and start < endX:
for i in range(endY-1,start,-1):
number = matrix[i][start]
res.append(number)
print (number)
return res
def printMatrix(matrix):
if not matrix :
return None
#matrix =np.array(matrix)
m =len(matrix)
#print (m)
n = len(matrix[0])
#m,n =matrix.shape
if m <= 0 or n <= 0:
return None
start = 0
s =[]
while m > start *2 and n > start *2:
res = printIncircle(matrix,m, n, start)
s.append(res)
start += 1
print (s)
for i in s:
print (i)
if __name__=='__main__':
matrix =[[1]]
# [1,2,3],
# [4,5,6],
# [7,8,9]]
# [1,2,3,4],
# [5,6,7,8],
# [9,10,11,12],
# [13,14,15,16]
# ]
printMatrix(matrix)