leetcode -- 旋转矩阵相关问题
给定一个 n × n 的二维矩阵表示一个图像。
将图像顺时针旋转 90 度。
说明:
你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。
示例 1:
给定 matrix =
[
[1,2,3],
[4,5,6],
[7,8,9]
], 原地旋转输入矩阵,使其变为:
[
[7,4,1],
[8,5,2],
[9,6,3]
]
解题思路:先写出其转置矩阵,然后每行列表反转
1 class Solution:
2 def rotate(self, matrix: List[List[int]]) -> None:
3 """
4 Do not return anything, modify matrix in-place instead.
5 """
6 n = len(matrix)
7 for i in range(n):
8 for j in range(n):
9 if i < j:
10 matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
11 for i in matrix:
12 i.reverse()
给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。
示例 1:
输入:
[
[ 1, 2, 3 ],
[ 4, 5, 6 ],
[ 7, 8, 9 ]
]
输出: [1,2,3,6,9,8,7,4,5]
思路:分为上右下左来进行
1 class Solution:
2 def spiralOrder(self, matrix: List[List[int]]) -> List[int]:
3 ret = []
4 while matrix:
5 ret += matrix.pop(0)
6 if matrix and matrix[0]:
7 for i in matrix:
8 ret.append(i.pop())
9 if matrix:
10 ret += matrix.pop()[::-1]#注意翻转
11 if matrix and matrix[0]:
12 for i in matrix[::-1]:
13 ret.append(i.pop(0))
14 return ret
leetcode -- 旋转矩阵相关问题的更多相关文章
- leetcode tree相关题目总结
leetcode tree相关题目小结 所使用的方法不外乎递归,DFS,BFS. 1. 题100 Same Tree Given two binary trees, write a function ...
- [LeetCode] [链表] 相关题目总结
刷完了LeetCode链表相关的经典题目,总结一下用到的技巧: 技巧 哑节点--哑节点可以将很多特殊case(比如:NULL或者单节点问题)转化为一般case进行统一处理,这样代码实现更加简洁,优雅 ...
- [leetcode] 根据String数组构造TreeNode,用于LeetCode树结构相关的测试用例
LeetCode 跟树结构相关的题目的测试用例中大多是通过String数组来构造树.例如{2,#,3,#,4,#,5,#,6},可以构造出如下的树(将树结构逆时针选择90度显示): 6 ...
- leetcode String相关
目录 3无重复字符的最长子串 5最长回文子串 8字符串转换整数(atoi), 9回文数,7整数反转 28实现strStr(), 459重复的子字符串(KMP) 43字符串相乘 71简化路径 93复原I ...
- [LeetCode] 二叉树相关题目(不完全)
最近在做LeetCode上面有关二叉树的题目,这篇博客仅用来记录这些题目的代码. 二叉树的题目,一般都是利用递归来解决的,因此这一类题目对理解递归很有帮助. 1.Symmetric Tree(http ...
- LeetCode - 排列相关题目
1.获取全排列 https://leetcode.com/problems/permutations/submissions/ 按字典序输出: 这里用的是vector<int>,不是引用. ...
- leetcode链表相关
目录 2/445两数相加 综合题(328奇偶链表, 206反转链表, 21合并两个有序链表 ) 92反转链表 II 链表排序(148排序链表, 876链表的中间结点) 142环形链表 II 160相交 ...
- Leetcode | Parentheses 相关
Generate Parentheses Given n pairs of parentheses, write a function to generate all combinations of ...
- leetCode 字符串相关问题
125. 验证回文串 /* * 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. * 输入: "A man, a plan, a canal: Panama& ...
- leetcode 链表相关
1.给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们 ...
随机推荐
- label 与input其中input的 id与name
<div> <label for="myfile">新头像 {% load static %} <img src="{% static 'i ...
- 导入zip文件解析
/** * 导入压缩文件 * * @param file * @param charsetName * @param consumer */ public static void importZipF ...
- Linux查询CPU,内存,硬盘使用率以及网卡流量指令
Linux查询CPU,内存,硬盘使用率以及网卡流量指令 1.获取cpu使用率 //cpu `top -b -n1 | fgrep "Cpu" | awk '{print 100-$ ...
- docker swarm集群安装使用
1.安装master docker swarm init --advertise-addr 10.98.10.186 Swarm initialized: current node (qemrm3oq ...
- 数值分析之数值积分 4.X
求积公式 \[\int_{a}^{b} f(x) \mathrm{d} x \approx \sum_{k=0}^{n} A_{k} f\left(x_{k}\right) \] \(A_k\) 为求 ...
- window 0x00007b无法正常启动解决方法
参考链接: https://pcedu.pconline.com.cn/1570/15702605.html directx修复工具下载: https://www.onlinedown.net/sof ...
- CodeGym自学笔记07——入门Java书籍
入门Java书籍 Head First Java Java:The Complete Reference,作者:Herbert Schildt 这本书对初学者也很有好处.与前一本书的主要区别在于素 ...
- Qt 3D示例——cube
Qt 3D官方示例 cube的3D演示,一个纯C++的项目.虽然QML示例比较炫,但是要深入理解还是得从C++例子入手. 从MainWidget.show入口.一步步可以跟踪到initializeGL ...
- 蓝牙mesh组网实践(手机配网例程改低功耗)
目录 在22年7月版本的CH583EVT更新之后,582芯片的adv_vendor_self_provision_with_peripheral例程,适配了wch mesh手机app,支持了OTA,成 ...
- python中下拉框选择
如选择省区城市 provice = driver.find_element_by_id('****') #先给定位的元素付个变量 select(prvice).select_by_bisible_te ...