找出單獨出現的數字

2021-08-28 02:24:04 字數 489 閱讀 9240

給出n個數字。其中僅有乙個數字出現過一次,其他數字均出現過兩次,找出這個出現且只出現過一次的數字。要求時間和空間複雜度最小。

一開始是很普通的想法,從第乙個數開始,從前往後遍歷。但兩個數相同時,將兩數賦乙個不可能出現的值。再重新遍歷陣列,找出沒有被賦予不可能出現值的值。

private

static string solution(string line) }}

for(int i=0;iif(!array[i].equals("a"))

}return result;

改進方法,用位運算,利用了(^)異或運算的特點(乙個資料對另乙個資料異或兩次,該資料本身不發生改變。)。只需要一遍遍歷,就可完成。

private

static

intsolution(string line)

return result;

}

小公尺OJ 2 找出單獨出現的數字

解法一 map1.45 ms include include include include include include include include include include include include include include using namespace std int...

小公尺OJ 2(找出單獨出現的數字)

找出單獨出現的數字 序號 2 難度 有挑戰 時間限制 1000ms 記憶體限制 10m描述 給出n個數字。其中僅有乙個數字出現過一次,其他數字均出現過兩次,找出這個出現且只出現過一次的數字。要求時間和空間複雜度最小。輸入輸入多個數字,每個數字以空格分開。數字數量 n 20,輸入數字的最大值小於 25...

小公尺oj記錄 (二)找出單獨出現的數字

描述 給出n個數字。其中僅有乙個數字出現過一次,其他數字均出現過兩次,找出這個出現且只出現過一次的數字。要求時間和空間複雜度最小。輸入 輸入多個數字,每個數字以空格分開。數字數量 n 20,輸入數字的最大值小於 256.輸出 輸出內容為只出現過唯一一次的數字 輸入樣例 10 10 11 12 12 ...