Arrays 有没有一种方法可以将值输入到时间复杂度为O(n)的2D数组中?

Arrays 有没有一种方法可以将值输入到时间复杂度为O(n)的2D数组中?,arrays,algorithm,Arrays,Algorithm,有一种非常常见的方法可以将值输入到二维方阵中。。。使用两个for循环。。。现在有没有一种方法可以将值输入到时间复杂度为O(n)的2D数组中?您可以使用第一种输入方法。为此,你应该在谷歌上搜索这个,你会找到一个 我发现的示例链接: 但我认为这不会有多大影响。因为没有2个for循环,如何在2D数组中存储值 但是,如果您想在代码中只使用一个for循环。你可以做一个技巧: for(k=0;k<n*n;k++) { i=k/n, j=k%n; scan(a[i][j]); // H

有一种非常常见的方法可以将值输入到二维方阵中。。。使用两个for循环。。。现在有没有一种方法可以将值输入到时间复杂度为O(n)的2D数组中?

您可以使用第一种输入方法。为此,你应该在谷歌上搜索这个,你会找到一个

我发现的示例链接:

但我认为这不会有多大影响。因为没有2个for循环,如何在2D数组中存储值

但是,如果您想在代码中只使用一个for循环。你可以做一个技巧:

for(k=0;k<n*n;k++)
{
    i=k/n, j=k%n;
    scan(a[i][j]); // Here a is 2D array
}

for(k=0;k)当你说O(n)时,我想你的意思是n等于数组的总大小。但你会注意到当你做O(n^2)时n^2实际上是数组的大小,而不仅仅是n。所以它是一样的。我们至少需要一个与数组大小相等的迭代次数才能完全填充它,我们在嵌套循环方法中已经做到了这一点。是否有一个有效的版本,比如将数字存储在字符串数组中,然后使用Integer.parseInt()检索它。