java 异或代码编程
什么是异或
异或的运算方法是一个二进制运算:1^1=00^0=01^0=10^1=1两者相等为0,不等为1.
由此得出
0^N=N
N^N=0
2)异或运算满足交换律和结合率
a^b=b ^a
(a^b) ^c= a ^( b ^ c)
int a=甲;
int b=乙;
a=a ^b; a=甲 ^ 乙; b=乙;
b=a ^b; a=甲 ^ 乙; b=甲 ^ 乙 ^ 乙=甲 ;
a=a ^b; b=甲 a=甲 ^ 乙 ^ 甲=乙;
必须满足内存区域不能相等才能用异或运算
异或的题型
在一个数组中,整型数组,已知只有一种数出现了奇数次,其他数出现了偶数次
满足 时间复杂度o(N),空间复杂度未o(1)
找出奇数次的数public static void printoddTimesNum1(int[]arr){int eor =0;for (int cur :arr){eor ^=cur;}System.out.println(eor);
}
为什么这么写嗯
例如一个数组:
四个1 ;四个2 三个3
[1,3,2,1,2,3,1,2,3,1,2]
1^1 ^1 ^1 ^ 2 ^2 ^2 ^2 ^3 ^ 3 ^3=3;
因为
1^1 ^1 ^1=0;
2^2 ^2 ^2=0;
3^ 3 ^3=3;
在一个数组中,整型数组,已知只有俩种数出现了奇数次,其他数出现了偶数次
满足 时间复杂度o(N),空间复杂度未o(1)
找出奇数次的数public static void printoddTimesNum1(int[]arr){int eor =0;for (int cur :arr){eor ^=cur;}System.out.println(eor);
}
全部异或之后就剩俩个奇数的异或了,
也就是 a^b
java 异或代码编程相关推荐
- java单行字符_十个便捷的单行代码编程技巧
1.对列表/数组中的每个元素都乘以2// www.1b23.com Range是半开区间 int [] ia = range(1, 10).map(i -> i * 2).toArray(); ...
- java range(10)_Java 中的十个 ” 单行代码编程 ” ( OneLiner )
原标题:Java 中的十个 " 单行代码编程 " ( OneLiner ) 作者:飒然Hang 原文链接:www.rowkey.me/blog/2017/09/09/java-on ...
- java编程算法出现在窗口_Java实现轨迹压缩算法开放窗口代码编程实例分享
Java实现轨迹压缩算法开放窗口代码编程实例分享,今天要给各位朋友分享的这篇文章主要介绍了Java编程实现轨迹压缩算法开放窗口实例代码,具有一定的参考价值,有兴趣的朋友来看看吧. 轨迹压缩算法 场景描 ...
- java和scala代码可以混合编写吗_Scala字符串插值的妙用,以及java+scala混合编程
一 我们在项目中遇到一个需求,输入为json字符串,如: { "title": "lrtest", "alg": "Logisti ...
- 知识库递归编程java和prolog代码;逻辑语言Prolog简介(附24555字PDF发“递归prolog简介”下载)
知识库递归编程java和prolog代码:逻辑语言Prolog简介(附24555字PDF发"递归prolog简介"下载) 数据简化DataSimp 今天 数据简化DataSimp导 ...
- Java:计算机编程语言Java的简介、安装(编程环境/工具)、学习路线(如何学习Java以及几十项代码编程案例分析)之详细攻略
Java:计算机编程语言Java的简介.安装(编程环境/工具).学习路线(如何学习Java以及几十项代码编程案例分析)之详细攻略 目录 Java的简介 1.Java的工作原理--基于Eclipse等编 ...
- 一文带你深入理解【Java基础】· 面向对象编程(下)②代码块、final和abstract
写在前面 Hello大家好, 我是[麟-小白],一位软件工程专业的学生,喜好计算机知识.希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正!谢谢大家!!! ...
- 厚积薄发打卡Day26:狂神说Java之JUC并发编程<代码+笔记>(上)
前言: 学习视频来源:[狂神说Java]JUC并发编程最新版通俗易懂 一个十分优秀且励志的技术大牛+Java讲师,十分推荐他的频道:遇见狂神说
- java 用程序代码解释继承_关于初级java程序员笔试题
关于初级java程序员笔试题 Sun 认证Java程序员考试内容涉及Java所有相关知识.编程概念及applet开发技巧.下面是小编整理的关于初级java程序员笔试题,欢迎大家参考! 第一题:判断题 ...
- Java项目的代码如何实现?
Java项目的代码实现基本是使用Java语言进行编写,Java代码的编写遵循一定的规范和约定.本文将介绍Java项目代码实现的主要概念和技术. 1.类和对象 Java是一种面向对象的语言,类是创建Ja ...
最新文章
- 1.8M超轻量目标检测模型NanoDet,比YOLO跑得快
- 显卡暴涨,等等党输了,这我万万没想到啊
- “贩卖”国潮新鲜感的花西子、完美日记们,能炒多久?
- SAP CRM呼叫中心的邮件发送实现 - Function module CRM_EMAIL_SEND_EMAIL
- python字符串添加_python字符串的增删改查
- 童话镇计算机乐谱,童话镇简谱(歌词)-陈一发演唱-桃李醉春风记谱
- 35 岁之前不应该错过的 30 本书
- MFC实现 MSN QQ 窗口抖动
- 小米手表外观官宣:方表盘+黑银两色
- 高晓松卸任北京阿里巴巴音乐科技有限公司董事长
- Java中printmax的调用形式_媒体类型和响应式设计
- docker启动nginx后挂了_学员整理笔记系列8 启动docker后运行不了vmware该怎么办?...
- 境外WiFi市场持续升温 2016年或迎普及元年
- Go sync.Map 看一看
- oracle 12g 无监听,Oracle 12.2监听无法启动解决一例
- xp系统怎样安装传真服务器,XP系统传真服务怎么安装?配置传真教程
- TwinCAT3安装教程-EtherCAT学习
- day06笔记(2021-09-28)-OOP:面向对象+封装+继承+多态
- 有一牧场,已知养牛27头,6天把草吃尽;养牛23头,9天把草吃尽。如果养牛21头,那么几天能把牧场上的草吃尽呢?并且牧场上的草是不断生长的。
- 重要的人工神经元--感知器和Sigmod神经元