博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【特别好】【位运算】maximum-xor-of-two-numbers-in-an-array
阅读量:6574 次
发布时间:2019-06-24

本文共 722 字,大约阅读时间需要 2 分钟。

https://leetcode.com/problems/maximum-xor-of-two-numbers-in-an-array/

利用了异或的”自反性“: a ^ b = c,而a ^ b ^ b = a, 则 c ^ b = a

其他运算定律有:交换律、结合律、分配律。

注意:计算使用的结果,不是只看一位,而是每次把新的一位加到原来的结果后面。这样的好处是不需要记录之前的结果满足条件的有哪些,每次就重新计算和查找就可以了,大大降低了复杂度。

// 非常非常棒// 参考了 https://discuss.leetcode.com/topic/63213/java-o-n-solution-using-bit-manipulation-and-hashmap// 特别的,利用了异或的强大运算特性,见22行,来加速运算public class Solution {        public int findMaximumXOR(int[] nums) {        int max = 0;        int flag = 0;                // from left to right        for (int i=31; i>=0; i--) {            Set
prefixSet = new HashSet(); // flag : 11110000 flag = flag | (1<

 

转载于:https://www.cnblogs.com/charlesblc/p/5966368.html

你可能感兴趣的文章
Fail to get tape drive(tsm) inventory
查看>>
openssl校验SSL证书public key是否配对
查看>>
十八、AR数据库的关联查询relations之单条数据查询
查看>>
管理历程篇---学会四心
查看>>
RCNA复习知识点
查看>>
Jolt大奖获奖图书
查看>>
tomcat安装并设置开机启动
查看>>
drools 将添加switch支持
查看>>
android中webview空间通过Img 标签显示sd卡中 的图片
查看>>
Shell in AIX Web端 自动远程执行重启tomcat服务命令
查看>>
android socket编程实例
查看>>
Redis查漏补缺:最易错过的技术要点大扫盲
查看>>
使用SimpleDateFormat出现时差
查看>>
关于linux低端内存
查看>>
url 的正则表达式:path-to-regexp
查看>>
ubuntu 16.04 安装PhpMyAdmin
查看>>
安卓开启多个服务
查看>>
文件上传样式修改
查看>>
设置分录行按钮监听事件
查看>>
C Primer Plus 第5章 运算符、表达式和语句 5.2基本运算符
查看>>