Java 中的好矩阵问题2025年3月17日 | 阅读 3 分钟 给定一个 N 行 M 列的二维数组 ARR,其中每个元素的值为 0 或 1,将给定的矩阵转换为一个“良好矩阵”。在良好矩阵中,如果一个元素为 0,则其所在行和列的所有元素也应为 0。 例如,如果 arr 是以下矩阵 ![]() 输入格式 输入的第一行包含一个整数 T,表示测试用例的数量。对于每个测试用例,第一行包含两个整数 N 和 M,分别表示数组的行数和列数。接下来的 N 行包含 M 个用空格分隔的整数,表示数组 arr 的元素。 ![]() 输出格式 对于每个测试用例,返回根据问题描述更新后的矩阵。 算法
实施文件名: GoodMatrix.java 输出 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 复杂度分析 时间复杂度:代码遍历给定矩阵中的每个元素,从而产生嵌套循环。外层循环从 0 迭代到 'n - 1',其中 'n' 是行数。其中 'm' 是列数,内层循环从 0 迭代到 'm - 1'。在嵌套循环中,还有用于将行和列的值设置为 0 的附加循环。因此,时间复杂度表示为 O(n * m * (n + m)),其中 n 表示行数,m 表示列数。 空间复杂度:代码创建一个新的二维数组 'answer' 来存储修改后的矩阵。'answer' 数组所需的空间与输入矩阵相同:'n' 行和 'm' 列。因此,空间复杂度为 O(n * m)。 下一个主题Java 中的流如何工作 |
多线程编程经常需要线程通信。管道(Pipes)的概念是 Java 提供的多种线程间通信技术之一。Java 管道主要用于两个线程之间进行单向数据传输以实现线程间通信。通过这种方法,数据可以被控制和...
5 分钟阅读
native 关键字用于指示一个方法是在另一种语言(通常是 C 或 C++)中实现的。这些方法通常用于与硬件交互、操作系统级功能或提高特定任务的性能。请注意,native 关键字可以应用于……
阅读 3 分钟
在本节中,我们将学习什么是 Tribonacci 数,并创建计算 Tribonacci 数的 Java 程序。Tribonacci 数程序经常出现在 Java 编码面试和学术中。Tribonacci 数 Tribonacci 数与 Fibonacci 数相同。我们可以得到...
阅读 3 分钟
Java 中的数组是用于存储和操作同一类型对象集合的基本数据结构。然而,Java 数组的一个限制是它们本身无法存储对象。通过使用常规设置可以克服此限制。Java 引入了泛型...
阅读 4 分钟
java.time.format.DecimalStyle 类包含 withNegativeSign() 函数。在 Java 中,用于表示此 DecimalStyle 的区域设置的负号的字符是使用 DecimalStyle 类设置的。在获得字符作为输入后,此函数会生成一个包含已修改负号的 DecimalStyle 对象...
阅读 3 分钟
Java SE 7 引入了对错误处理方式的重大改进,带来了使 Java 应用程序中的错误管理更简单、更高效的功能。这些更改旨在提高代码的可读性,减少重复代码(样板代码),并增强开发人员的整体体验。异常的演变...
7 分钟阅读
Java 作为一种多功能编程语言,为开发人员提供了各种工具和结构来高效地管理和处理数据。用于处理数据的两个最广泛使用的机制是集合(Collections)和流(Streams)。它们各自服务于不同的目的,并具有各自的优点和...
阅读 4 分钟
在 Java 中,构造函数是一种特殊类型的方法,其名称与类名相同。在内部,构造函数在创建类对象时始终被调用。它用于初始化对象的 state。同样……
阅读 2 分钟
在数组中找到差值最小的数对是 Java 中一个常见的算法问题。它涉及比较数对之间的差异,以找出差值最小的数对,Java 提供了多种解决方案来解决这一挑战。示例 1:输入:A[] = {4, 7,...
7 分钟阅读
在 Java 中,反转数字的位意味着将每个位从 0 翻转为 1,反之亦然。这可以通过按位非 (~) 运算符来实现。它通常用于二进制操作和按位运算等任务,提供了一种切换...的简单方法。
7 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India