JavaScript 程序检查幂等矩阵

javascript 程序检查幂等矩阵

幂等矩阵是具有相同行数和列数的方阵,当我们将矩阵与其自身相乘时,结果将等于同一个矩阵。我们将得到一个矩阵,我们必须确定它是否是幂等矩阵。

数学上

如果给定矩阵 ix M,则 M 是幂等矩阵,应遵循以下性质 –

M*M = M

登录后复制

矩阵乘法

一个矩阵与另一个矩阵相乘会产生另一个矩阵,如果给定矩阵是 N*N 的方阵,则所得矩阵也将具有相同的维度 (N*N)。

立即学习“Java免费学习笔记(深入)”;

两个矩阵A和B相乘的结果矩阵的每个索引(i,j)是矩阵A的第j列与矩阵B的第i列的乘法之和。

输入

Mat = [ [1, 0],    [0, 1]]

登录后复制

输出

Yes, the given matrix is an Idempotent matrix.

登录后复制

说明

For the cell (0,0): We have to multiply [1,0] with [1,0] => 1* 1 + 0 * 0 = 1. For the cell (0,1): We have to multiply [0,1] with [1,0] => 0* 1 + 0 * 1 = 0. For the cell (1,0): We have to multiply [1,0] with [0,1] => 1* 0 + 0 * 1 = 0.For the cell (1,1): We have to multiply [0,1] with [0,1] => 0* 0 + 1 * 1 = 1.  So, the final matrix we will get is: [ [1, 0], [0, 1]]

登录后复制

方法

我们已经了解了求两个矩阵相乘的示例和方法,现在让我们看看实现代码以求给定矩阵是否为幂等矩阵的步骤。

首先,我们将创建一个函数,该函数将采用单个参数,该参数将作为要查找的矩阵,无论它是否是幂等矩阵。

我们将获取矩阵的长度,并使用它通过 for 循环遍历矩阵的每个单元格。

在每个索引或单元格中,我们将使用上述步骤获取答案矩阵当前单元格中存在的值。

我们将使用for循环遍历当前列和行并得到它们的乘法和。

如果当前总和等于当前索引值,则我们将移至下一个值,否则将返回 false。

根据返回值,打印当前矩阵是否幂等的语句。

示例

// function to check if the current matrix is an Idempotent matrix or notfunction check(mat){   // getting the size of the given matrix.    var n = mat.length;          // traversing over the given matrix    for(var i = 0;i 

时间和空间复杂度

上述代码的时间复杂度为 O(N^3),其中 N 是给定矩阵的行数。对于每个单元格,我们必须将当前列与当前行相乘以产生因子或 N,总共有 N^N 个单元格。

上述代码的空间复杂度为 O(1),因为我们没有使用任何额外的空间来存储矩阵。

结论

在本教程中,我们实现了一个 JavaScript 程序来检查给定矩阵是否是幂等矩阵。幂等矩阵是具有相同行数和列数的方阵,当我们将矩阵与其自身相乘时,结果将等于同一个矩阵。我们以 O(N^3) 时间复杂度实现代码,并以 O(1) 空间复杂度工作。

登录后复制

以上就是JavaScript 程序检查幂等矩阵的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2692334.html

(0)
上一篇 2025年3月7日 17:40:15
下一篇 2025年3月7日 17:40:28

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 使用YUIDoc记录JavaScript文档

    记录代码有点像测试;我们都知道我们应该这样做,但我们不太确定如何做,而且大多数人,如果我们诚实的话,根本不这样做,但那些这样做的人都是它的大力支持者。本教程将帮助您快速了解解决该问题的最佳方法之一:yuidoc。 什么是 YUIDoc? Y…

    2025年3月7日
    000
  • JavaScript 程序查找二进制字符串任意循环中在开头和结尾处连续放置的 0 的最大数量

    我们将编写一个 JavaScript 程序来查找在二进制字符串的任何循环的开头和结尾处连续放置的零的最大数量。我们的程序将采用二进制字符串作为输入,并返回给定字符串的任何旋转中放置在开头和结尾的零的最大数量。为了解决这个问题,我们将使用字符…

    2025年3月7日
    200
  • 使用Passport为Node.js应用程序提供社交认证

    密码本质上是脆弱的,这已经是一个公认的事实。因此,要求最终用户为他们使用的每个应用程序创建强密码只会让事情变得更糟。 一个简单的解决方法是让用户通过现有的社交帐户(例如 Facebook、Twitter、Google 等)进行身份验证。在本…

    2025年3月7日
    200
  • 使用ngMessages进行AngularJS表单验证

    几乎每个网站都使用表单来执行不同的任务,例如注册用户或获取他们的联系信息。确保填写表单的用户至少在输入字段中输入有效信息非常重要。 还需要向用户显示详细的错误消息,以便他们能够正确填写表单。当您必须处理大量表单元素时,这个过程可能会变得非常…

    2025年3月7日
    200
  • 如何使用 FabricJS 使椭圆不可见?

    在本教程中,我们将学习如何使用 FabricJS 使椭圆不可见。椭圆形是 FabricJS 提供的各种形状之一。为了创建一个椭圆,我们将创建一个 Fabric.Ellipse 类的实例并将其添加到画布中。我们的椭圆对象可以通过多种方式进行自…

    2025年3月7日
    200
  • 增强当代调试之旅:第 2 部分

    在第 1 部分中,我们了解了如何使用 DevTools 编写和执行 JavaScript。在第 2 部分中,我们将介绍如何调试 JavaScript 并采用工作流程,以便更高效地解决 JavaScript 错误和诊断问题。 使用 DevTo…

    2025年3月7日 编程技术
    200
  • JavaScript中生成随机数字和字符串

    生成随机数或字母数字字符串的能力在许多情况下都会派上用场。您可以使用它在游戏中的不同位置生成敌人或食物。您还可以使用它向用户建议随机密码或创建文件名来保存文件。 我写了一篇关于如何在 PHP 中生成随机字母数字字符串的教程。我在这篇文章的开…

    2025年3月7日
    200
  • 起步:了解WordPress自定义器JavaScript API

    wordpress 定制器自诞生以来一直在积极开发。 api 不断发展,包括 javascript api。然而,它是 wordpress codex 中记录最少的 api 之一。因此,只有少数详细记录展示了如何实际利用 javascrip…

    2025年3月7日
    200
  • 使用jQuery进行遍历

    find() 和 filter() 方法之间的区别 filter() 方法用于过滤包装器集中包含的当前元素集。它的使用应该留给需要过滤一组已选择的元素的任务。例如,下面的代码将过滤包装集中包含的三个 元素。

    2025年3月7日
    200
  • Anime.js 简介

    Anime.js 是一个轻量级 JavaScript 库,具有简单、有效的 API。它可与 JavaScript 对象、CSS 和 DOM 元素配合使用,而且 Anime.js 也易于使用。 传统上,我们通过逐渐修改元素的样式来制作动画。这…

    2025年3月7日
    200

发表回复

登录后才能评论