校園招聘 小公尺2013 最新筆試題

2021-06-09 22:12:55 字數 1251 閱讀 8511

題目:乙個陣列裡,除了三個數是唯一出現的,其餘的都出現偶數個,找出這三個數中的任乙個。比如陣列元素為【1, 2,4,5,6,4,2】,只有1,5,6這三個數字是唯一出現的,我們只需要輸出1,5,6中的乙個就行。

下面是我的解法,找到三個數字乙個數的第乙個bit位(這裡是從右到左算)和其它二個不一樣的數就行

如1,5,6的二進位制分別為0001,0101,0110。因為6的的第一位為0,而其他的為1,用我的程式第乙個輸出的就是6了。程式如下:

[cpp]view plain

copy

print?

#include 

//得到第i位的二進位制 

#define ison(n, i) ((n) & 1 <

// author: 397090770

// e-mail: [email protected]

void findthesinglenumber(int *arr, int size)else  

}  if(counta & 0x1)else  

}elseelse  

}  }  

}  int main();  

findthesinglenumber(arr, sizeof(arr) / sizeof(arr[0]));  

return 0;  

}  

#include //得到第i位的二進位制 

#define ison(n, i) ((n) & 1 << (i))

// author: 397090770

// e-mail: [email protected]

void findthesinglenumber(int *arr, int size)else

} if(counta & 0x1)else

}elseelse

} } }

int main();

findthesinglenumber(arr, sizeof(arr) / sizeof(arr[0]));

return 0;

}

時間複雜度為o(n)。輸出為  6。(如果要全部輸出不同的數,方法和上面的一樣)

哪位大牛還有別的解法嗎?

另附:第一大題為求最大子串行。上面那題為第二大題。最後一道題:

小公尺公司2013校園招聘筆試題(研發) 答案

分類 名企筆試題 2013 06 26 11 41 255人閱讀收藏 舉報小公尺 筆試 一,填空題 1.兩個人乙個速度為a,乙個速度為b,相向而行,在距離為s的時候,a放出鴿子,速度為c,鴿子飛到b後,會返回a,遇到a後再返回b。在這期間鴿子飛行的路程 2.he 的平方 she。h,e,s 各代表什...

網易2013校園招聘筆試題

第一部分 必做 計算機基礎類 25分 所有選擇題都是多項選擇 1.2分 假設進棧次序是e1,e2,e3,e4,那可能的出棧次序是 a e2,e4,e3,e1b e2,e3,e4,e1c e3,e2,e4,e1 d e1,e2,e4,e3 2.2分 表示式x a b c d e的字尾表示形式可以是 a...

谷歌2013校園招聘筆試題

1.4 小組賽,每個小組有5支隊伍,互相之間打單迴圈賽,勝一場3分,平一場1分,輸一場不得分,小組前三名出線。平分抽籤。問乙個隊最少拿幾分就有理論上的出線希望 a.1 b.2 c.3 d.4 分析 設有a b c d e 5支球隊,假設abc晉級了。如果球隊c積1分可以出現,由於是單迴圈賽,說明他4...