簡體   English   中英

創建一個新的2D數組= 2D數組1的大小+ 2d數組2的大小(行和列)

[英]Creating a new 2D array that = size of 2D array 1 + size of 2d array 2 (rows and columns)

public static int[][] add2DArrays(int[][]A, int[][]B) {
        return int[][] C;
}

我了解如何通過將兩個數組A和B的和相加來填充此新數組,我面臨的障礙是創建此初始數組C。我們無法假定作為參數給出的數組的大小,因此這是一部分我有問題。

我知道這樣做:

 int[][] C = new int[A.length+B.length][]; //this will only give me the # of rows;

我被困在如何為新數組中的行獲取適當的列長。 我認為可能有可能如何記錄A中最長的行的長度,然后記錄B中最長的行,然后選擇兩者中的較大者,但這似乎很麻煩且效率低下。 謝謝大家的支持。

如果兩個都是真正的2D數組-也就是說,所有行的長度都相同-並且實際上已分配了行0,則可以從A[0].length+B[0].length獲取行的總長度。 A[0].length+B[0].length

如果行的長度可能有所不同-這在Java中是完全合法的-那么您可能需要遍歷A和B以找到最長的行並使用該長度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM