LeetCode - 059--スパイラルマトリックスII(パイソン)

 

超低効率、しかし、あまりにもすることができます。

1  クラスのソリューション:
 2      DEF generateMatrix(自己、N):
 3          TR =接地Tc = 0
 4          のdR = N-1
 5          DC = N-1
 6          X = [0 用の I における範囲(N)] のための J 範囲( N)]
 7          = 1 nowNum
 8          ながら(TR <=のdR 及び tCの<= DC):
 9              nowNum = self.draw(TR、TC、DR、DC、X、nowNum)
 10              TR + = 1
 11              tCの+ = 1
 12              のdR - = 1
13              DC-= 1つの
 14          リターンX
 15      DEF 描く(自己、TR、TC、DR、DC、リスト、nowNum):
 16          、I = tCで
 17          J = TR
 18          フラグ= 19          ながら(iはDC = <): 往右
20              リスト[TR] [I] = nowNum
 21              プリント( "{} {} {}"形式(TR、I、nowNum))
22              nowNum + = 1
 23              I + = 1
 24          I-= 1
 25          J + = 1
 26          一方(J <= DR): 往下
27の              リスト[J] [DC = nowNum
 28               プリント( "{} {} {}"形式(J、DC、nowNum))
29              nowNum + = 1
 30              J + = 1
 31          J- = 1
 32          I- = 1
 33          なら J ==のdR のdR =!TR:
 34              ながら(I> = TC): 往左
35人の                  リスト【のdR] [I] = nowNum
 36  #の                 印刷( "{} {} {}"形式(DR。 、I、nowNum))
37                  nowNum + = 1つの
 38                  フラグ= 39                 I- = 1
 40              I + = 1
 41          
42          かのフラグ及び I == tCの:
 43              J- = 1
 44              ながら(J> TR): 往上
45の                  リスト[J] [tCで] = nowNum
 46                  プリント( "{ } {} {}」形式(J、TC、nowNum))
47                  nowNum + = 1
 48                  J- = 1
 49              + = 1 J
 50          戻り nowNum

 

おすすめ

転載: www.cnblogs.com/NPC-assange/p/11426760.html