當前位置:成語大全網 - 新華字典 - 子數組的最大異或和

子數組的最大異或和

給定壹個數組,求子數組的最大異或和。

壹個數組的異或和為,數組中所有的數異或起來的結果

三層循環,時間復雜度為O(n^3)

start--i的異或結果為0--i的異或結果^0---start的異或結果

兩層循環,時間復雜度為O(n^2),空間換時間

前綴樹也叫字典樹,是處理字符串的常見的數據結構

(1)根節點沒有字符路徑,除根節點外,每壹個結點都被壹個字符路徑找到.

(2)從根節點到某壹節點,除路徑上經過的字符連接起來,為掃過的對應字符串

(3)每個節點下上的所有的字符路徑上的字符都不同

int path=((num>>move)&1);將int的32位的每壹位都分離出來

傳入壹個值,遍歷每壹位,int path=(num>>move)&1;得到當前的位數

如果當前的位數為31,即當前為符號位,則選擇本身( 符號位如果是1,選擇1異或變為正,0也是這樣 ),其他位置盡量為1,則path^1;

best=cur.nexts[best]!=null?best:(best^1);

如果期待的位置不為空,則走,如果為空,只能走異或的情況

res |=(path^best)<<move;將得到的值移動到對應的位數