gpt4 book ai didi

Python实现打印螺旋矩阵功能的方法

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Python实现打印螺旋矩阵功能的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例讲述了Python实现打印螺旋矩阵功能的方法。分享给大家供大家参考,具体如下:

1、问题描述 。

输入N, 打印 N*N 螺旋矩阵 。

比如 N = 3,打印: 1 2 3 8 9 4 7 6 5 。

N = 4,打印: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 。

2、思路 。

常规法是不断的对数据边界进行判断会很复杂,不妨考虑通过递归的解决每一层的数字.

3、代码 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#coding:utf-8
n = int ( raw_input ( '>' ))
#初始化数组
arr = [[ 0 ] * n for i in range (n)]
#递归解决
def dfs(arr, x, y, start, n):
   if n< = 0 : return 0
   if n = = 1 :
     arr[x][y] = start
     return 0
   #up
   for i in range (n):
     arr[x][y + i] = start
     start + = 1
   #right
   for i in range (n - 1 ):
     arr[x + 1 + i][y + n - 1 ] = start
     start + = 1
   #down
   for i in range (n - 1 ):
     arr[x + n - 1 ][y + n - 2 - i] = start
     start + = 1
   #left
   for i in range (n - 2 ):
     arr[x + n - 2 - i][y] = start
     start + = 1
   dfs(arr,x + 1 ,y + 1 ,start,n - 2 )
a = dfs(arr, 0 , 0 , 1 ,n)
#格式化输出print
l = len ( str (n * n)) + 1
format = ( '%' + str (l) + 'd' ) * n
for tmp in arr:
   print format % tuple (tmp)

运行结果:

Python实现打印螺旋矩阵功能的方法

Python实现打印螺旋矩阵功能的方法

希望本文所述对大家Python程序设计有所帮助.

原文链接:http://blog.csdn.net/qq_26392583/article/details/61435200 。

最后此篇关于Python实现打印螺旋矩阵功能的方法的文章就讲到这里了,如果你想了解更多关于Python实现打印螺旋矩阵功能的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com