我給出了一個未排序的整數數組,其中每個整數只出現兩次,排除只出現一次的整數。 我想用Java編寫一個程序來查找只出現一次的整數。在Java中找到整數只出現在未排序整數數組中
這裏是我的嘗試:
int findIntegerThatOccursOnce(int[] arr)
{
HashSet<Integer> hashSet = new HashSet<Integer>();
int mSum = 0;
for(int i = 0; i < arr.length; i++)
{
if(hashSet.contains(arr[i]))
{
mSum = mSum - arr[i];
}
else
{
hashSet.add(arr[i]);
mSum = mSum + arr[i];
}
}
return mSum;
}
我的教授說,這是一個很好的嘗試,但存在使用更少的空間一個更好的,但我不能看我怎麼可以用更少的空間做呢?任何人都可以幫忙解釋一下空間問題嗎?
我投票結束這個問題作爲題外話,因爲這是工作代碼,並要求代碼審查。所以它屬於https://codereview.stackexchange.com –
在嘗試提出更多問題之前,請閱讀[我應避免詢問什麼類型的問題?](http://stackoverflow.com/help/dont-ask)。 –
@JarrodRoberson我想知道爲什麼我的解決方案對空間不利,我更新了我的問題 –