def bsm(n):
a = [[0]*n for x in range(n)]
p = 0
q = n-1
t = 1
while p < q:
for i in range(p,q):
a[p][i] = t
t += 1 for i in range(p,q):
a[i][q] = t
t += 1 for i in range(q,p,-1):
a[q][i] = t
t += 1 for i in range(q,p,-1):
a[i][p] = t
t += 1
p += 1
q -= 1
if q == p:
a[p][p] = t
return a

这个是一个函数,返回一个回形数组

具体的思路是,用p记录左上角的坐标,用q记录右下角的坐标,一圈一圈的向矩阵的里面赋值,最终得到一个回形矩阵,最后的一个判断  if p==q  是因为奇数和偶数不不一样引起的差异,如果是奇数经历了while循环后,最后中间还有一个值是空的,如果是偶数的话,不存在p == q的情况,因为每次循环p都加1,q都减一,岔开了。

回形矩阵--python的更多相关文章

  1. 2.python算法之回形矩阵

    代码: #!/usr/bin/env python # encoding: utf-8 """ @author: 侠之大者kamil @file: 2.回形矩阵.py @ ...

  2. Python实现顺时钟回形矩阵

    无意间在网上看到了一个面试题是,写出一个回形矩阵.实现的效果大致如下: [ 1,   2,   3,   4, 5] [16, 17, 18, 19, 6] [15, 24, 25, 20, 7] [ ...

  3. 顺时针打印矩阵(python)

    题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数 ...

  4. 19.顺时针打印矩阵(python)

    题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数 ...

  5. 创建一个任意大小的全色矩阵 python

    img = np.zeros((112,112,3))#cv2.imread('F:/project/Breast/InBreast/INBreast/outimgpatch/allnocalcifi ...

  6. 回形数字矩阵(Java)

    将矩阵从里到外分为多层,每一层都是一个口字型数字序列,方向都是顺时针/逆时针,由此我们可以将问题分解为相同的子问题来解决 回形矩阵概述 ☃ 回形矩阵有n行n列 ☃ 数字按顺时针或者逆时针递增 **使用 ...

  7. python3列表

    Python3 列表 list python的矩阵 python中矩阵可以用双层列表表示 Python列表脚本操作符 len([1, 2, 3]) 3 长度 [1, 2, 3] + [4, 5, 6] ...

  8. 机器学习入门KNN近邻算法(一)

    1 机器学习处理流程: 2 机器学习分类: 有监督学习 主要用于决策支持,它利用有标识的历史数据进行训练,以实现对新数据的表示的预测 1 分类 分类计数预测的数据对象是离散的.如短信是否为垃圾短信,用 ...

  9. 【题解】长度为素数的路径个数-C++

    Description 对于正整数n (3≤n<20),可以画出n阶的回形矩阵.下面画出的分别是3阶的,4阶的和7阶的回形矩阵: 对于n阶回形矩阵,从左上角出发,每步可以向右或向下走一格,走2* ...

随机推荐

  1. centos7部署ethereum私有链

    https://github.com/ethereum/go-ethereum/wiki http://book.8btc.com/books/6/ethereum/_book/public-chai ...

  2. visual studio code配置项

    // 通过将设置放入设置文件中来覆盖设置. { //-------- 编辑器配置 -------- // 控制字体系列. "editor.fontFamily": "Co ...

  3. JavaScript获取当前网页的源码

    通过 outerHTML document.documentElement.outerHTML 通过异步请求 $.get(window.location.href,function(res){ con ...

  4. FastDFS 初始

    FastDFS 详细介绍 FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为 ...

  5. android Listview 软引用SoftReference异步加载图片

    首先说一下,android系统加载大量图片系统内存溢出的3中解决方法: (1)从网络或本地加载图片的时候,只加载缩略图.这个方法的确能够少占用不少内存,可是它的致命的缺点就是,因为加载的是缩略图,所以 ...

  6. 初识Scrum

    团队作业起步 一.团队 队名:想吃蛋炒饭 成员: 许俊杰 肖豪雄 王重和 罗艺璇 曾舒妮 也许是我们队长的人的博客:许俊杰的博客 二.Scrum学习心得 Scrum是迭代式增量软件开发过程,通常用于敏 ...

  7. 第二次scrum冲击

    1.小组第二次冲刺任务及其完成情况描述. 本次冲刺我们小组经过讨论,实现的使我们爱上长大系统中的失物招领功能,由于在实际的实现中,对于本功能的逐渐深入和了解,渐渐发现这个功能实现起来需要由很多部分组成 ...

  8. Android(java)学习笔记3:线程的优先级

    1. Java线程的优先级从1到10级别,值越大优先级越高线程默认优先级是5.值越大优先级越高 (1) 继承自Thread类创建线程类: package cn.itcast_04; public cl ...

  9. POJ 1416 Shredding Company【dfs入门】

    题目传送门:http://poj.org/problem?id=1416 Shredding Company Time Limit: 1000MS   Memory Limit: 10000K Tot ...

  10. (第三场) C Shuffle Cards 【STL_rope || splay】

    题目链接:https://www.nowcoder.com/acm/contest/141/C 题目描述 Eddy likes to play cards game since there are a ...