2016-03-07 102 views
-1

所以我試圖找到整數數組中的位數。第一部分是減去並找出數組中整數元素之間的差異,並創建一個具有這些差異的新數組。然後我需要減去並從第一個數組和第二個數組中找到數字的差異。這裏是我到目前爲止的代碼:從數組中減去元素,然後找到數組中的位數

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.

我被困在如何找到第一個數組中的位數和第二個數字中的位數,然後減去這兩個數字。

+2

你的問題是混亂的。請重新修改。你是什​​麼意思的差異? –

+0

@BhushanBhangale編輯我的帖子。對於第一部分(使用我發佈的代碼),我需要取第一個元素並減去0.然後,我需要從第一個原始元素中減去第二個元素。並且爲每一個元素做這件事,從前面減去當前的事情。對於第二部分,我需要找到原始數組中的總位數,並減去第二個數組中的總位數。 – malloz16

+0

所以你卡在第1部分或第2部分? –

回答

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;