找出數字中唯一乙個出現奇數次數的數字,異或

2021-09-24 23:27:32 字數 816 閱讀 9479

輸入一行數字,其中有且只有乙個數字出現了奇數次,其餘數字均出現偶數次,找出該數字並輸出

從頭到尾異或一遍,最後得到的那個數就是出現了奇數次的數。

因為,兩次異或同乙個數,結果不變,且異或運算滿足交換律

#include #includeusing namespace std;

int main()

cout<fgets(..)函式。

原型  char *  fgets(char * s, int n,file *stream);

引數:

s: 字元型指標,指向儲存讀入資料的緩衝區的位址。

n: 從流中讀入n-1個字元

stream : 指向讀取的流。

返回值:

1. 當n<=0 時返回null,即空指標。

2. 當n=1 時,返回空串"".

3. 如果讀入成功,則返回緩衝區的位址。

4. 如果讀入錯誤或遇到檔案結尾(eof),則返回null.

從標準輸入裝置(就是鍵盤)讀入一串字元,包括空白等符號在內。

這個語句的功能可以用gets實現,區別在於 fgets 讀入的含 "\n"(最後乙個字元),gets 不含 "\n"。

陣列中唯一乙個只出現一次的數字

陣列中除乙個數字只出現一次外,其他數字都出現了三次,請找出這個唯一只出現一次的數字。使用排序的方法,排序後遍歷排序後的陣列。時間複雜度為o nlgn 使用雜湊表,時間複雜為o n 但是需要空間複雜度也為o n 由於每個數字都出現了三次,而同乙個數字每一位上的值都相同,可以分別把所有數字的每一位上的數...

從乙個陣列中尋找出現奇數次的數字

假設給定了陣列nums為 0,1,2,3,4,5,6,7,8,9,10,10,9,8,7,6,5,4,1,2,3,3,0 其中3出現了3次 而其他數字都出現了兩次 則我們應該得到結果為3 第一種方式 使用hash 1 2 使用hash3 4public static int singlenumber...

從12個球中找出唯一乙個質量不同的球,並說明輕重

12個球,其中只有乙個質量不同的球。要求使用乙個天平,經過三次稱量,找出這個球。並說明這個球相比於其他球,是重還是輕。將這12個球編號為1 12 14號球分為a1組,58號球分為a2組,9 12號球分為a3組 第一次稱量,取a1組和a2組分別放在天平兩端。存在兩種結果 天平平衡。這說明要找的球位於a...