給出乙個數字的列表,是否能夠快速的找出其中只出現一次的數字。
想法:定義乙個動態的陣列,讀乙個數字,如果這個數字沒出現在動態陣列中,則將它放在陣列中,如果陣列中已經有了,則刪除。 最後剩下的就是只出現了一次的資料。
#include
#include
using
namespace
std;
void check(int value, vector
&list)
}list.push_back(value);
}int execute(int* pdata, int nlen)
nret = list.size();
for (vector
::iterator it = list.begin(); it != list.end(); it++)
cout
<< endl;
return nret;
}void main()
; execute(test, 30);
cin >> i;
}
程式設計之美之找出故障機器
問題 假設乙個機器僅僅儲存乙個標號為id 的記錄 id小於 10億的整數 每個資料儲存 2個備份,這樣就有 2個機器儲存了同樣的資料。提問1 某時間如果得到乙個資料檔案id 的列表,是否能夠快速地找出這個表中僅僅出現一次的 id?提問2 如果已經知道只有一台機器宕機 即只有乙個備份丟失 呢?如果有2...
程式設計之美 1 5 快速找出故障機器
解法3 使用異或 問題1 找出出現奇數次的兩個數 void findrepeatedtwonumbers int a,int n,int no1,int no2 temp的值現為兩個出現奇數次的數的異或 找第乙個為1的位 for j 0 j sizeof int 8 j 第j位為1,說明這兩個數字在...
程式設計之美 1 5 快速找出故障機器
題目 假設乙個機器只儲存乙個標號為id的記錄,假設每份資料儲存2個備份,這樣就有2個機器儲存了相同的資料。其中id是小於10億的整數 問題1 在某個時間,如果得到乙個資料檔案id的列表。是否能夠快速的找到這個表中僅出現一次的id?即快速找出出現故障的機器儲存的資料id。問題2 如果有兩台機器宕機呢?...