问题描述
创建一个方法 cleanMatrix
,它接受一个参差不齐的二维 int
数组,并返回一个具有相同值的矩形数组。
例如:
输入:
{{1,2,3,1,7},{6,8,7,1},{2,4,5,11},{12}}
输出:
{{1,0},11,{12,0}}
解决方法
如果你必须制作一个锯齿二维数组矩形,你可以对每一行使用Arrays.copyOf
方法并指定一个新的长度:
ir.ui.view(3822,)
,
Int 数组初始化为 0,因此您可以在需要时扩展子数组。 解决方案可能看起来有点像这样(未经测试)。
int[][] source = <your source array>;
final int neededSize = <length you want extend the subs to>;
for(int i = 0; i < source.length; i++){
if(source[i].length < neededSize){
source[i] = getExtendedArray(source[i]);
}
}
int[] getExtendedArray(int[] originalArr){
int[] tempArr = new int[neededSize];
for(int x = 0; x < originalArr.length; x++){
tempArr[x] = originalArr[x];
}
}