2013-08-21 43 views
-5

我有兩個數組a []和b []。在另一個數組中存儲重複整數序列

int a[]={3,1,1,1,7,4,6,6,3,1}; 
int b[]=new int[a.length]; 

實際問題中的數組長度可能會改變。 數組中的值必須小於所看到的數組長度的值。


輸出必須是:

b = 3 1 0 0 7 4 6 0 3 1 

所以基本上,如果有相同的值的在一個[]然後只它的值的第一必須在相同的索引b中被置於[]其餘的序列應該是零直到序列存在。


回答java語法將有所幫助。 預先感謝您

+4

你試過了什麼?向我們展示一些努力,我們很樂意提供幫助。我們不會做的是爲你寫作業。 – Aurand

+1

同意。但作爲一個暗示,採取這三個步驟。首先,你自己來解決問題。接下來,弄清楚你做到了。最後,代碼。換句話說,拋開Java,編程,所有這一切 - 只要弄清楚你是怎麼做的人。機會,因爲你會使用某種邏輯的步驟。現在只需在代碼中寫下這些步驟即可。 – yshavit

回答

0

暗示:

1)創建散列映射來存儲處理後的值

2)迭代的第一陣列上方:如果當前值被存儲在地圖,然後填0,否則存儲此值並將其複製到新陣列中

+0

這不起作用。他只希望將相同值的序列歸零。這將在第一次後刪除數字的每個實例。 – resueman

+0

你說得對,我應該讀得更好。然後他只需要記住以前的價值。 –

2
int a[]={3,1,1,1,7,4,6,6,3,1}; 
    int b[]=new int[a.length]; 

    int temp = a[0]; 
    b[0] = temp; 

    for(int i = 1; i < a.length; i++) { 
     if(a[i] == temp) 
      b[i] = 0; 
     else 
      b[i] = a[i]; 

     temp = a[i];  
    } 
+2

我不會downvote,因爲根據常見問題,這不是「明顯錯誤」,但請不要通過回答這些問題來鼓勵這些問題。 – yshavit

+3

你能出現爲他做他的測試嗎? – resueman

相關問題