Leetcode刷题之旅--数组--转置笔记(python)

本文介绍使用Python实现LeetCode数组转置的三种方法。第一种利用Python内置函数`zip`快速完成矩阵转置;第二种通过双层循环逐元素进行行列转换;第三种采用逐列读取的方式构造新矩阵。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Leetcode刷题之旅–数组–转置笔记(python)

1.python库函数(zip)

return [list(lows) for lows in list(zip(*A))]

*A应该表示指针传递的意思吧,对于lows与zip的矩阵A都需要是list形式

2.行列转换其一

m,n = len(A),len(A[0])
ans=[[None]*m for _ in range(n)]
for low in len(m):
	for rol in len(n):
		ans[rol][low]=A[low][rol]
return ans

m是行数-len(A),n是列数-len(A[0])
ans定义数组的长度大小,其中:
[0*m for _ in range(n)] 是创建数组,为深拷贝:
m个0,维数为n
这里即为n列,m行
再分别对行数m,列数n遍历,将A的行列变换赋值到ans中。

3.行列转换其二

ans=[]
for rol in range(len(A[0])):
	temp=[]
	for low in range(len(A)):
		temp.append(A[low][rol])
	ans.append(temp)
return ans

先定义空列表ans作为整体存储,temp为存储每一列中所有行元素的列表,将它们存到行中,再将temp存到ans中。对列数进行遍历。

to be continued…

为了帮助准备研究生矩阵期末考试,以下是几个关键的复习方向以及学习资源: --- ### 一、核心知识点总结 1. **基本定义与性质** 包括矩阵的基本运算规则(加法、乘法)、转置矩阵、逆矩阵等概念及其计算方法。 2. **行列式理论** 掌握如何求解方阵的行列式值及利用其判断线性无关性的能力。例如克拉默法则的应用场景。 3. **特征值与特征向量** 学会寻找给定矩阵的所有特征值和对应的特征向量,并理解它们在线性变换中的意义。 4. **正交化过程** 熟悉施密特正交化的具体步骤以构造一组标准正交基底;同时了解对称矩阵谱分解的重要性。 5. **奇异值分解(SVD)** 明确SVD的概念, 并能应用于数据压缩等领域的问解决当中去. 6. **二次型分析** 能够完成从一般形式转换成规范形的操作流程; 讨论惯性定律对于实数域上任意一个n阶对称双线性函数的作用效果。 7. **广义逆矩阵(G-inverses)** 对于非满秩情况下的伪逆知识有所涉猎即可满足大多数课程需求。 8. **数值代数基础** 如果涉及计算机实现方面,则需要简单知晓高斯消元法或其他迭代算法原理等内容。 9. **应用实例解析** 结合实际案例来加深印象比如最小二乘估计问或者马尔科夫链平稳分布确定等问解答技巧分享等等... --- ### 二、推荐参考资料 #### 免费电子书/讲义下载链接: - MIT OpenCourseWare 提供了丰富的线性代数教学材料 (https://ocw.mit.edu/courses/mathematics/) - Khan Academy 上也有针对初学者友好的视频教程系列介绍 https://www.khanacademy.org/ #### 练习网站集合: - LeetCode 和 HackerRank 均设有专门面向技术面试者的数学挑战专区可以找到不少关于Matrix Operations 的编程练习目。 - Brilliant.org 是另一个不错的选择它专注于STEM领域内的互动式学习体验并且覆盖了很多高级主如Determinants & Eigenvalues etc.. #### YouTube 视频清单建议观看列表: - "Essence of linear algebra" by Grant Sanderson @3Blue1Brown channel. - Prof Gilbert Strang's lectures on Linear Algebra from MIT OCW platform. 此外还可以参考一些经典教材如《Introduction to Linear Algebra》by G.Strang,《Linear Algebra Done Right》by S.Axler 等书籍深入探究各个专细节之处。 ```python # 示例代码片段:Python 实现简单的矩阵相乘功能 import numpy as np A = np.array([[1, 2], [3, 4]]) B = np.array([[2, 0], [1, 2]]) C = A.dot(B) print(C) # 输出结果 [[4 4] [10 8]] ``` 以上信息应该能够为你提供全面而系统的指导方针用于备考期间有效率地整理笔记并巩固记忆点啦! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值