bit-manipulation

    3熱度

    2回答

    給定4億32位整數,其中每個單獨的整數至多重複兩次,如何對它們進行排序? 這在面試中提問。我建議使用帶有2^32個條目的計數表 - 每個可能的值都有一個條目,每個條目需要2個位。只需要遍歷整數並在相應的條目中設置位。 面試官進一步詢問,如果設置/清除位操作真的很貴,比如需要1ms。我沒有很好的答案。我考慮使用11而不是10來表示2 - 因此,當將事件從1增加到2時,只需要設置另一位而不必設置一位/

    1熱度

    3回答

    我們不難發現: a=7 b=8 c=a|b 然後c出來是:15 現在可以發現a如果c給出? 例如: b=8 c=15 c=a|b 查找? 而且如果給出x=2<<1,那麼我們可以得到x=4。但是,如果4=y<<1給出我們可以得到y?

    -7熱度

    1回答

    給定兩個二進制矩陣m1和m2,與m1相比,m2保證具有更大或相等的尺寸(在兩個維度上)。用C++編寫一個函數來計算m2內m1的外觀。 例如 m1 = [1 1; 11],m2 = [1 0 0; 1 1 0 0; 0 0 1 1 0 0 1 1] 然後M1中平方米出現2次,則該函數將返回整數2. 任何人都可以使用一個基於位操作方法有效地解決這個問題?

    0熱度

    1回答

    我通過破譯編碼和麪試的位操作技術之一是如下工作: 從我到0(含)清除所有位,我們採取一個序列全部爲1(即-1),並將其左移i + 1位。這給了我們1個序列(最高有效位),然後是0個位。 int clearBitsIthrough0(int num, int i){ int mask = (-1 << (i + 1)); return num & mask; } 如何爲-1

    -1熱度

    1回答

    在略有修改的TOH中,我們有4個掛鉤。所以我們總共有4^N個磁盤位置。 現在我正在經歷的解決方案之一,給定的狀態,使用下面的代碼表示 - for(int disc = 0; disc < N; disc++){ state += tower[disc]<<(disc*2); } 塔[光盤] ​​ - >塔盤,其中當前所在,其可以是(0,1 ,2,3) 如果我在上面的代碼中

    0熱度

    1回答

    子集位口罩我有兩套 - 設置1 - {I1,I2,I3 ... IN1} 設置2 - {K1,K2,K3 ... KN2} 對於任何一組n項,我可以使用位掩碼0-2^n -1表示所有可能的子集。 同樣如何表示 - set1和set2的所有可能的子集,其中至少1項來自不同的集合。 例如 {I1,I2,K1}是有效 但{I1,I2} - 無效的,因爲它沒有從SET2項。 我想產生兩件事情 - 一個方程

    2熱度

    2回答

    我使用的是jQuery UI的自動補全插件,除了這個事實,當用戶點擊時,他們希望我分配給「select:」方法的值在該值之前觸發的領域改變了。因此,如果我在輸入字段中輸入「Foo」,然後單擊「Foo Bar」的自動完成匹配,則該函數將檢測到的值作爲鍵入的值(本例中爲「Foo」),而不是從自動填充中選擇的值名單。一旦函數觸發(在這種情況下,我只有一個警告框彈出w/this.value)輸入字段的值設

    0熱度

    4回答

    有沒有更簡單的方法來這個在python中? if byte is 1: return 0 if byte is 2: return 1 if byte is 4: return 2 if byte is 8: return 3 if byte is 64: return 4

    0熱度

    2回答

    我試圖找出它,但仍然卡住。 比方說,我們有十進制數13(1101在二進制)。在無符號的情況下,我們需要至少4位來表示它(1101,因爲它是),但是在2的補碼符號中,我們需要5位,MSbit設置爲0,因爲13是正數?我知道在2的補碼中,MSbit表示值(+或 - )的符號。那麼它會是01101? 另外,如果MSbit爲0,那麼這個數字在單數2的補碼中仍然是相同的,但是如果它是1,那麼將是As = A

    0熱度

    3回答

    我一直在尋找的ArrayDeque.contains(Object o)的源代碼時,我發現這個實現: /** * Returns {@code true} if this deque contains the specified element. * More formally, returns {@code true} if and only if this deque contains