最大异或对 --- Trie字典树实现
题目找异或后最大值,可以随便写两个数来异或(不进位加法),写成二进制000....(注意共31位,int型最高位32位为符号位,不考虑)。可以发现,如果自高位向低位两个位置的数不同时(即1 ^ 0 = 1, 0 ^ 1 = 1 但1 ^ 1 = 0, 0 ^ 0 = 0),相加结果一定最大。),暴力O(n平方),会TLE,考虑Trie优化 --- 每次枚举一个数,按Trie特点,只要自高向低比较31位数即可。选两个数进行异或(相同为0,不同为1,还可以理解为。
原创
2023-03-10 11:32:54 ·
105 阅读 ·
0 评论