LeetCode刷题(28)
来源:互联网 发布:吊顶软件下载 编辑:程序博客网 时间:2024/06/15 11:20
对矩阵做回形遍历,参考了讨论区的答案,此类问题可总结为:
最初di=0,dj=1
之后di=1,dj=0
之后di=0,dj=-1
之后di=-1,dj=0
if res[(i+di)%n][(j+dj)%n]: di, dj = dj, -di
class Solution(object): def generateMatrix(self, n): """ :type n: int :rtype: List[List[int]] """ res = [[0]*n for _ in range(n)] i, j, di, dj = 0, 0, 0, 1 for k in range(1, n**2+1): res[i][j] = k if res[(i+di)%n][(j+dj)%n]: di, dj = dj, -di i += di j += dj return res
阅读全文
0 0
- LeetCode刷题(28)
- 【leetcode】leetcode 刷题 笔记 (不定期更新)
- leetcode刷题(Python)
- LeetCode刷题(1)
- LeetCode刷题(2)
- LeetCode刷题(3)
- LeetCode刷题(废弃)
- LeetCode刷题(FizzBuzz)
- Leetcode刷题(1)
- Leetcode刷题(2)
- Leetcode刷题(3)
- Leetcode刷题(4)
- Leetcode刷题(5)
- Leetcode刷题(6)
- Leetcode刷题(7)
- Leetcode刷题(13)
- Leetcode刷题(17)
- LeetCode刷题(18)
- day11c语言作业
- ResultSetMetaData和DatabaseMetaData
- ZOJ 3985String of CCPC (字符串判断)
- [机器学习]粒子群算法
- 概率随机数
- LeetCode刷题(28)
- 选择排序
- 关押罪犯(codevs1069)
- 提高代码阅读能力的7种方法
- 无标题Markdown(1)
- [BZOJ 3523] Bricks 贪心+优先队列/堆
- 022day(指针和数组和指向指针的指针)
- Android ListView组件的优化
- LeetCode-Easy-Java——Array Partition I