在 C++ 中按行和列排序的矩阵中查找2024年8月28日 | 阅读 4 分钟 问题指定我们给定一个整数 X 和一个行向和列向排序矩阵。我们必须确定提供的数字 "X" 是否已在此矩阵中找到;如果找到,显示 X 的确切位置;如果未找到,则将其打印为 "未找到"。 示例输入 { {12, 2, 13, 9}, {58 6, 7, 8}, {9, 11, 61, 62}, {19, 43, 15, 45} } 要查找的元素是 X = 8。 您可以遍历整个矩阵,从左上角 (第 1 行,第 1 列) 开始,并将每个成员与所需值(在本例中为 8)进行比较。 第一行中的比较索引 1,1 处的元素:1(不等于 8) 索引 1,2 处的元素:2(不等于 8) 索引 1,3 处的元素:3(不等于 8) 索引 1,4 处的元素:4(不等于 8) 在第二行中,有一个比较位置 2: 1 元素:5(不等于 8) 索引 2,2 处的元素:6(不等于 8) 索引 2,3 处的元素:7(不等于 8) 索引 2,4 处的元素:8(等于 8) 输出 因此,元素 8 出现在第二行、第四列,位置 2,4。 朴素方法在朴素技术中,我们可以扫描整个行向和列向排序矩阵并搜索提供的元素。如果找到,打印其位置。 算法步骤 L=
文件名:Row_col_index.cpp 输出 The element found At 2,4 复杂性分析时间复杂度: O(R*C) 解释:R 是此行向和列向排序矩阵中的行数,C 是此行向和列向排序矩阵中的列数。由于我们访问了整个数组,因此此程序的时间复杂度变为 O(R*C)。 空间复杂度:O(1) 解释: 不需要额外空间。 贪婪方法(优化)目标是在每次比较中删除行或列,直到我们达到所需的数字或超出范围。我们将从矩阵的右上角开始。这种方法有三种可能的方式。
算法步骤
文件名:Row_col_index2.cpp 输出 The element has been found At 2,4 复杂性分析时间复杂度:O(N+M) 解释:R 是此行向和列向排序矩阵中的总行数,C 是此行向和列向排序矩阵中的总列数。最坏情况时间复杂度是 O(N+M),因为我们只读取一行和一列。 空间复杂度:O(1) 解释: 不需要额外空间。 下一个主题C++ 中的集合插入和删除 |
矩阵加法是 C++ 中的一个基本过程,它将两个矩阵合并以创建一个新矩阵。矩阵是具有行和列的二维数值数组。最终矩阵的成员是通过添加两个矩阵的相应元素生成的。我们使用嵌套循环来遍历...
5 分钟阅读
一个简单的 C++ 应用程序,称为学生管理系统,被教育机构用来处理学生数据以及学校中与学生相关的许多其他数据需求。用户可以在这个学生管理系统项目中创建、查看和编辑内容。如今,数据库在每个...
阅读27分钟
面向对象编程 (OOP) 是一种强大的范式,它允许开发人员在代码中模拟现实世界的事物和交互。在 C++ 中,这是最流行的编程语言之一,创建和交互对象至关重要。在这篇文章中,我们将探讨过程...
阅读 4 分钟
stoi 是一个 C++ 标准库函数,用于将字符串转换为整数。它代表“string to integer”。它接受一个字符串作为输入并返回相应的整数值。如果输入字符串无效,该函数可能会引发 std::invalid_argument 类型的异常...
阅读 2 分钟
C++ 用于创建信用卡验证器应用程序。它使用 Luhn 算法验证信用卡号并识别信用卡类型。C++ 编程语言用于创建信用卡验证器应用程序,该应用程序验证信用卡号的有效性...
7 分钟阅读
在本文中,您将学习如何在 C++ 中旋转数字的位。当数字的位被旋转时,数字的二进制表示会向左或向右移动预定的位数。在执行各种按位操作任务时...
阅读 4 分钟
字符串是计算机编程中的关键数据类型,具有广泛的应用。它们是字符序列,可以表示从简单的单词到整本书的任何内容。在许多编程语言中,字符串用于存储文本信息,例如……
阅读 3 分钟
什么是断言?断言是一组代码,我们在其中放置一些表达式或条件来检查条件是否为真或假,或者检查表达式是否存在。如果条件为真或表达式存在,那么我们就得到真...
阅读 4 分钟
在本文中,我们将讨论 C++ 和 GO 之间的区别。但在讨论它们之间的区别之前,我们必须了解 C++ 和 Go 以及它们的示例和用途。C++ 编程语言是什么?C++ 是一种高级通用编程语言,其创建目的是...
阅读 4 分钟
在本文中,我们将通过其历史和示例讨论 C++ 中的巴比伦平方根算法。引言:巴比伦平方根算法,也称为 Heron 方法,是一种逼近给定数字平方根的迭代方法。它基于 ...
阅读 12 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India