从数组中减去元素,然后在数组中查找位数

时间:2016-03-07 21:54:18

标签: java

所以我试图找到整数数组中的位数。第一部分是减去并找出数组中整数元素之间的差异,并创建一个具有这些差异的新数组。然后我需要减去并找到第一个数组和第二个数组的数字差异。这是我到目前为止的代码:

public static String compressArray(int[] intArray) {
    int[] finalArray;
    finalArray = new int[intArray.length - 1];
    finalArray [0] = 0;
    for (int i = 0; i < intArray.length - 1; i++) {
        finalArray [i+1] = intArray [i+1] - intArray [i];
    }


}

我完全不确定接下来要做什么才能找到第二部分。基本上,从一组数字开始:4283,4296,4344,4348,4355,4367,4392,4391,4380,然后从当前元素中减去前一个元素并找到它们之间的差异并获得一个新数组:4283, 13,48,4,8,12,25,-1,-11。然后从第一个数字中减去第二个数组中的位数,得到:19。

我被困在如何找到第一个数组中的位数和第二个数字中的位数,然后减去这两个数字。

1 个答案:

答案 0 :(得分:1)

  

我被困在如何找到第一个数组中的位数和第二个数字中的位数,然后减去这两个数字。

查找整数中的位数:

int length = String.valueOf(num).length();

要查找2个数组中的数字差异:

int arr1Digits = 0, arr2Digits = 0;
for(int x=0; x<arr1.length; x++)
    arr1Digits += String.valueOf(Math.abs(arr1[x])).length();    //Sum of digits in arr1

for(int x=0; x<arr2.length; x++)
    arr2Digits += String.valueOf(Math.abs(arr2[x])).length();    //Sum of digits in arr2


int diff = arr1Digits - arr2Digits;