如何在不使用循环的情况下获取多维数组的第一列。我试图将第一列作为数组传递给另一个函数。 对于行,我只使用array [i]而不是传递i行,但对于列,我必须使用临时数组并放置所需列的元素。 有没有更简单的O(n)复杂性方法。 我试图使用array [] [0]或类似的东西,但它的非似乎工作。 我在java工作。 谢谢
答案 0 :(得分:0)
简答:无法在低于O(n)的情况下完成此操作。
说明:这是因为数组在Java中的表示方式。在Java中,数组是一个Object,因此您可以通过引用将它传递给O(1)。矩阵是一个数组数组,这意味着每列中的每个项都是每个数组中的一个单独项。这意味着你必须在每个数组对象中获取每个单独的项目,这使它至少为O(n)。
编辑:正如卡米尔在评论中提到的,你可以单独存储列,然后可以在O(1)中传递。存储在时间和内存中都需要O(n)。