当前位置: 首页 > news >正文

帝国程序如何改网站标题艺人百度指数排行榜

帝国程序如何改网站标题,艺人百度指数排行榜,泉州网站关键词推广费用,湘潭做网站品牌磐石网络前提: 异或操作符合交换律,结合律(因为其根本上来抽象理解,就是查看所有项二进制数相同位是否有奇数个1,对运算结果二进制数而言,没有该位为0,有该位为1,与顺序无关)。 …

前提:

异或操作符合交换律,结合律(因为其根本上来抽象理解,就是查看所有项二进制数相同位是否有奇数个1,对运算结果二进制数而言,没有该位为0,有该位为1,与顺序无关)。

任何数与零进行异或,结果仍是他自己

两个相同的数进行异或操作,结果为零(自反性

如下实现数值交换代码

public void swap(int[]arr,int x,int y){//用异或运算做交换arr[x]=arr[x]^arr[y];arr[y]=arr[x]^arr[y];arr[x]=arr[x]^arr[y];}

该操作不需要再开辟另一块内存空间去进行数值交换

但是注意交换数值双方指向内存必须是两块独立的内存(相同值没问题,相同内存不行)

如上如果,x,y指向同一块内存,第一次异或使arr[x]指向内存存储的数变为0,与此同时,由于arr[y]与arr[x]指向同一块内存,arr[y]也变为0,那么后面两次异或没有意义,原先存储的数丢失了。

问题解决实例:在一堆数中只有一个数出现了奇数次,查出这个数

对所有数进行异或运算,那么最后的结果将是该出现奇数次的数

public int getTheOneNumber(int[] arr){int number=0;for (int i : arr) {number = number^i;}return number;}

那如果是一堆数中有两个数出现了奇数次,其他都出现了偶数次,如何找出这两个数

这是我们如果依然对这一堆书进行异或运算,那我们将得到这两个数异或的结果

为了方便,我们把这两个数称为x,y, 我们现在得到eor=x^y 

x,y一定不相同,那么eor值不为0;

所以,x,y的二进制数一定存在一位或多位,一个为1一个为0的情况

那么我们接下来取出eor最右侧的1(假设该位是第i位)(取数方法eor取反加一在于eor做与运算),所有数与该数做与运算将所有数分为i位上为1的数和i位上为零的数,x,y因此被分开,分开后另使同为1(0)的数异或得到x(y)

x(y)与eor异或得到y(x)

   public int[] getTwoNumber(int[] arr){int eor=0;for (int i : arr) {eor^=i;}int number = (~eor+1)&eor;int eor2=0;for (int i : arr) {if((number&i)!=0){eor2^=i;}}eor = eor2^eor;int[] goal = {eor,eor2};return goal;}

http://www.hkea.cn/news/57019/

相关文章:

  • 做网站那里好win10系统优化工具
  • 做外贸上哪些网站找客户口碑营销的概念是什么
  • 外贸建站magento百度地图推广
  • 做网站和管理系统全网热度指数
  • 网站的压力测试怎么做网络营销的目的是什么
  • 网站建设如何更加稳定seo优化前景
  • 网站速度诊断 慢seo chinaz
  • 企业网站建设合同搜索引擎优化关键词的处理
  • 做翻译的网站私人做网站
  • 广东两学一做考学网站百度网盘app免费下载安装老版本
  • 淄博有做网站的吗百度推广有哪些形式
  • 增值税怎么算免费seo快速排名系统
  • 响应式电商网站制作全网
  • 国内b2b网站a片长春做网站推广的公司
  • 网页制作视频的网站建设引擎优化seo怎么做
  • 吉林省建设厅证件查询网站今日热搜
  • 做熟食的网站美食网站搜索引擎推广方案案例
  • 企业模板网站推广优化平台
  • 赣州做网站的网站优化技术
  • 设计网站大全网公司推广咨询
  • 北京网站建设价格上海关键词排名优化公司
  • 浙江华临建设集团有限公司网站seo优化网站词
  • 服装网站建设规划书范文免费的行情网站
  • 合肥企业自助建站seo课程培训班
  • 企业网站建设总结什么软件可以免费引流
  • 个人博客网站如何做SEO雅诗兰黛网络营销策划书
  • 唐山自助建站软件seo软件优化工具软件
  • 推广电子商务网站的案例网站推广策划书模板
  • 前端外包网站网站优化快速排名软件
  • 凡客做网站cba最新消息