编写程序打印给定二维矩阵的对角线元素2024 年 8 月 29 日 | 4 分钟阅读 在本教程中,我们将编写Python程序来打印给定矩阵的对角线元素。这是技术面试中可能遇到的常见程序。 给定一个二维矩阵,我们需要打印主对角线和副对角线。 输入 输出 Primary Diagonal: 1, 3, 9, 3 Secondary Diagonal: 4, 2, 8, 6 输入 输出 Primary Diagonal: 2, 2, 2 Secondary Diagonal: 2, 2, 2 让我们在Python中理解矩阵的行-列模式。
输出 [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']] Python中的矩阵表示请记住,我们总是先写行号,然后写列号。矩阵中元素X的正确格式为X(R,C),其中R和C代表元素所在的行和列。 让我们看下面的3x3和2x2数字矩阵,Z代表一个2x3的字符串矩阵。 示例 - 输出 [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']] [[27, 34], [61, 18]] [['one', 'two', 'three'], ['four', 'five', 'six']] 现在我们对Python中的矩阵表示有了基本了解。现在让我们跳到解决方案部分。 解决方案让我们理解第一种方法。 方法 - 1 在此方法中,我们将使用两个for循环处理列,一个循环处理行,并在内循环中检查条件。 示例 - 输出 Primary Diagonal is: 1,3,9,3, 解释 - 在上面的代码中,我们获取矩阵的行和列,并使用了两个for循环。在内循环中,我们检查条件,如果i和j相等,则打印相应的元素。 现在我们将编写程序来获取副对角线 示例 - 2 输出 Secondary Diagonal: 4, 2, 8, 6, 时间复杂度 - O(n2) 由于涉及嵌套循环,因此时间复杂度是平方的。 辅助空间:O(1)。 因为没有额外的空间被占用 方法 - 2 我们可以使用单个for循环来解决这个问题。让我们理解下面的例子。 示例 - 输出 Principal Diagonal: 1, 6, 3, 8, 解释 - 在上面的代码中,我们运行一个for循环直到矩阵长度n,并打印mat[i][i],其中i是索引变量。 对于副对角线元素 示例 - 2 输出 Secondary Diagonal: 4, 7, 2, 1, 解释 - 我们使用了与上面相同的方法,并打印mat[i][k],其中i是索引变量,k = matrix_length - 1,并且在i < n之前递减k。 复杂度分析
下一个主题Python中的封装 |
Python 语言中的变量用作各种数据值和数据结构的存储单元。当变量分配给任何 Python 对象时,它指向该对象,因为它们是内存中该特定对象的引用或指针...
7 分钟阅读
在二分搜索中,我们将项目集合分成两半,以减少查找元素所需的直接比较次数。但是,有一个要求:数组的项必须事先排序。二分搜索方法定位特定列表的索引...
阅读 4 分钟
在下一个教程中,我们将讨论一个名为 LanguageTool 的 Python 包,并了解如何使用 Python 编程语言创建一个简单的语法和拼写检查器。那么,让我们开始吧。了解 Python 中的 LanguageTool 库 LanguageTool 是一个用于语法和拼写检查的开源工具,...
7 分钟阅读
In the ious tutorial, we have understood the concept of Distributed Computing and Introduction to Dask. We have also understood what Dask Cluster is and how to install Dask in addition to the introduction to the Dask Interface. Dask Interface As we have already discussed, Dask Interfaces have...
阅读27分钟
洗牌指的是以随机顺序重新排列元素,这意味着在排列元素时不考虑任何特定顺序。在本教程中,我们将学习如何使用 Python 对列表中的元素进行洗牌。我们将用于洗牌的不同方法...
阅读 3 分钟
我们都在学生时代学过素数,如果有人忘记了也不用担心。素数基本上是只能被1或自身整除的自然数,素数的另一个定义是...
11 分钟阅读
在以下教程中,我们将了解如何使用 Python 编程语言识别车牌。我们将在此项目中使用 OpenCV 来识别车牌,并使用 python pytesseract 从车牌中提取字符和数字。...
阅读9分钟
在本教程中,我们将了解字符串格式化机制。f-string 是格式化字符串的最佳方式。字符串的格式化样式使字符串更具可读性、更简洁且不易出错。它的速度也比其他方法快。在深入研究...
阅读 6 分钟
从童年起,我们就一直在玩数字。对数字执行的基本算术运算会产生有价值的结果。在学习的旅程中,我们必须更加强调数学中的逻辑发展,因为它们成为编程的基础。在这…
阅读 3 分钟
引言 人工智能领域取得了巨大的进步,导致了各种算法的开发来处理复杂的任务。其中一个算法是 LightGBM,它是 Light Gradient Boosting Machine 的缩写。LightGBM 因其效率、速度和处理大规模数据集的能力而广受欢迎。
阅读 6 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India