輸入一行數字,其中有且只有乙個數字出現了奇數次,其餘數字均出現偶數次,找出該數字並輸出
從頭到尾異或一遍,最後得到的那個數就是出現了奇數次的數。
因為,兩次異或同乙個數,結果不變,且異或運算滿足交換律。
#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...