乙個全是數字的大陣列,除了其中乙個數字出現2次外,其餘的數字都出現了3次。如何找出那個只出現了兩次的數字?

時間 2021-06-04 11:08:57

1樓:

intA=

0,B=

0;for(

inti=0

;i<3*

N+2;

i++)多說一句,我覺得這道題作為面試題並不好,因為面試者很可能見過這個題目,那就沒有意義了。

而且面試結果並不取決於你是否能給出答案,而在於你思考的過程。如果你聽到問題直接給出上面的答案,反倒不會獲得加分。

2樓:

3樓:

同意蔣長生的三進製方法,很巧妙。之前在BOJ上做過一道題,用的二進位制方式,將所有數儲存成二進位制形式,統計所有3N-1個數中對應位置的二進位制之和m,取m%3,if(m%3==0),則結果該位為0,if(m%3==2),則結果該位為1。

4樓:

如果事先知道這些數所組成的集合S,可以把S中所有元素異或的結果記為x1,把該陣列的所有數字異或

結果記為x2,那麼x1^x2就是出現2次的那個數。但是知道S這個條件太苛刻了。

我認為轉換成2進製或3進製還不如直接統計。

5樓:微子

將數字表示成3進製, 陣列第 i 個數 3^j 位計為 x(i, j), x(i, j) = 0, 1, 或者 2.

2 * sum(x(i, 0), i = 0, 1, ...) mod 3 即為所求數3進製下第一位, 同理求第二位, 第三位, 等.

java中乙個空陣列與乙個長度為0的陣列有什麼區別呀?

剷草除根 主要在客戶端呼叫的稍微有點區別。public int getNum 這樣寫呼叫的時候不用做非空判斷。public int getNum 這樣寫還需要做非空判斷。 我是派大星 空陣列如果是指數組變數引用為空的話,也就是意味著它就是個單純的陣列變數存在於棧空間,但是如果是長度為0的陣列就不一樣...

乙個宿舍的室友都不喜歡其中乙個室友,怎麼讓他搬出去?

卟噠噠 我們宿舍 估計只有乙個是喜歡和另乙個玩的,其餘都相互不喜歡,包括另乙個人並不喜歡這個人 所以有時候覺得 自己瞎jb過挺好的 該學習學習,該拿獎學金拿獎學金 思量 宿舍有過這種人,雖然我不在宿舍裡了,但是對於她我們幾個選擇不理她,什麼事也不叫她,把她當做陌生人,後來她主動申請調了宿舍。後來她搬...

乙個慣性係以光速離開另乙個慣性系,其中乙個慣性系中有乙個相對靜止的光源發出光線,另乙個慣性系裡的相對靜止的一點上站著的乙個人能否看到這束光線?

飛劍 按照相對論,靠自己運動是不可能到達光速的,但宇宙的膨脹可以超光速。離我們越遠的天體遠離我們的速度越快,超光速遠離我們的那些天體就再也看不到了,如果剛好等於光速,應該也是看不到。 馬小馬seen 首先 根據狹相,相對於任意慣性系,可以達到光速的物質只有光。而光並沒有資格當做參考係中滴參照物。所以...