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

保定市做网站百度学术免费查重入口

保定市做网站,百度学术免费查重入口,扁平化 wordpress,身份证号一键查询所有银行卡给定一长度为m的整数数组 ,其中有p种不为0的数出现了奇数次,其他数都出现了偶数次,找到这p个数。 要求:时间复杂度不大于O(n),空间复杂度不大于O(1)。 由于时间复杂度不大于O(n),则不能在遍历数组中嵌套遍…

给定一长度为m的整数数组

A=\left [ a_{1},a_{2}\cdots a_{m} \right ]

,其中有p种不为0的数出现了奇数次,其他数都出现了偶数次,找到这p个数。

要求:时间复杂度不大于O(n),空间复杂度不大于O(1)。


        由于时间复杂度不大于O(n),则不能在遍历数组中嵌套遍历数组。而空间复杂度不大于O(1),则不能开辟数量上优势或等势于数组长度的内存空间。这需要将数组元素的信息压缩到一个有限的内存空间里,因此需要按位运算。

        按位异或运算⊕是具有如下性质的二元运算:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0,并且满足交换率、结合率。则0是⊕的单位元,即对于任意的二进制数a,都有a⊕0=0⊕a=a。而且a与自身互为逆元,即a⊕a=0。记

\begin{matrix} \overset{t}{\underset{i=1}{\bigoplus } }a_{i} \end{matrix}=\underset{t}{\underbrace{a_{1}\oplus a_{2}\oplus \cdots \oplus a_{t}}}

        那么,对于任意正整数k,有:

\begin{matrix} \overset{2k}{\underset{}{\bigoplus } }a \end{matrix}=\begin{matrix} \underbrace{a\oplus a\oplus \cdots \oplus a}\\ 2k \end{matrix}=\begin{matrix} \underbrace{\left ( a\oplus a \right )\oplus\left ( a\oplus a \right )\oplus \cdots\left ( a\oplus a \right ) }\\ k \end{matrix}=\begin{matrix} \underbrace{0\oplus0\oplus\cdots \oplus 0}\\ k \end{matrix}=0,

        \begin{matrix} \overset{2k+1}{\underset{}{\bigoplus } }a \end{matrix}=\begin{matrix} \underbrace{a\oplus a\oplus \cdots \oplus a}\\ 2k+1 \end{matrix}=\left (\begin{matrix} \overset{2k}{\underset{}{\bigoplus } }a \end{matrix} \right )\oplus a=a

        

        对于给定的这个题目,当p=1时,设\chi出现了2k+1次,其余的数都出现偶数次,则根据上述的结论有:

\bigoplus A=\begin{matrix} \overset{2k+1}{\underset{}{\bigoplus } }\chi \end{matrix}= \chi

        即将A中所有元素取异或运算即是此问题的解。

        当p=2时,取\bigoplus A=b,则必然b≠0,否则可以推出这两个数相等,从而产生悖论。取c=b\wedge \left (\bar{b}+1 \right )=2^{s-1},s为c的二进制表示中从后数第一个为1的位数。

        遍历集合A,使每个元素都和c做按位与运算,结果只能是0或者c。取结果为c的元素组成子集A',由于b的第s位是1,则两个目标数字不会都是A'的元素,否则经过⊕运算,s位的值是0的话,如果b中没有某位是1的数字,则b=0,从而产生矛盾。这样,就将问题转化成了在集合A'中查找只有一种非零整数出现奇数次的问题。即求出\chi _{1}=\bigoplus A'为其中的一个解。

        由于b=\chi _{1}\oplus \chi _{2},所以

\chi _{2}=\chi _{2}\oplus \left ( \chi _{1}\oplus \chi _{1} \right )=\left ( \chi _{2}\oplus \chi _{1} \right )\oplus \chi _{1}=b\oplus \chi _{1}

就是另一个解。

        当p\geqslant 3时,\bigoplus A可能不为0,也可能为0。比如A=\left [ 6,5,3 \right ],整体取二进制按位异或就是

110\oplus 101\oplus 011=0.所以当p\geqslant 3时需要对问题进行降阶拆解:

        continuing

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

相关文章:

  • 织梦做的网站首页出现空白网页平台做个业务推广
  • 备案做电影网站吗yandx引擎入口
  • 网站双倍浮动百度账号登陆入口
  • 聊城市网站建设网站推广排名
  • 帝国新闻网站模板百度seo推广怎么做
  • 预约做港澳证的网站网站排名在线优化工具
  • 罗湖实惠的网站建设费用成都官网seo厂家
  • 建设部官方网站有哪些优帮云排名优化
  • 天津做网站找谁新东方在线教育平台官网
  • 南宁做网站在哪了日本预测比分
  • 咋样查看网站用什么编程语言做的9个广州seo推广神技
  • 网站链接太多怎么做网站地图谷歌广告
  • 网站关键词更新临汾网络推广
  • 个人做网站靠什么盈利免费网站建设模板
  • 网站开发 打标签aso优化怎么做
  • 教育校园网站建设方案seo每天一贴
  • 怎么看网站的建设时间推广公司品牌
  • 营销型网站有什么特点英语培训机构
  • 学院网站的系统建设方式宝鸡网站seo
  • 网站客户端怎么做的百度一下了你就知道官网
  • 有什么推广方法优化大师电脑版官方
  • 自己做网站的服务器上海网站建设公司排名
  • 跳蛋塞逼做多的视频网站百度广告联盟官网
  • 房地产网站开发文档企业查询
  • 做emu对网站有什么要求十大免费无代码开发软件
  • 扬州专业做网站做关键词优化
  • 宿州网站建设贰聚思诚信网站服务器
  • 用照片做模板下载网站好百度爱采购官方网站
  • 微网站建设套餐网络营销是做什么的
  • 徐州有哪些做网站苏州网站建设费用