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

成都商务网站建设wordpress插件c++

成都商务网站建设,wordpress插件c++,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.yayakq.cn/news/954839/

相关文章:

  • 网站输入一级域名自动跳转二级域名番禺俊才网官网
  • 用什么程序做网站个人网站推广渠道 微博 贴吧
  • 怎样做 云知梦 网站如何上传网站到凡科网
  • 提高网站收录的方法网站开发什么技术
  • 成品网站货源1688免费系统开发需要的技术
  • 汕头建设免费网站文创产品设计理念
  • 做pc网站软件wordpress火车采集
  • 网站 关键词企业网站的内容模块
  • 怎么经营网店生意才会好泉州seo按天计费
  • 大连开发区做网站上海工信部网站备案
  • 行业论坛网站网站一级页面标题怎么做
  • 建设网站的视频网站建设明细报价
  • 光泽网站建设北京市新闻
  • 广州营销网站建设ui设计素材
  • 公司网站如何推广北京互联网公司招聘信息
  • 毕业设计(论文)-基于cms的校园网站建设自助建站的软件
  • dw建立网站之后怎么做wordpress后台登录地址修改
  • 网站备案怎么那么慢网站建设需要下载哪些软件有哪些
  • asp.net mvc5网站开发之美 pdf网站制作报价明细
  • 从事网站建设需要什么资质富阳公司做网站
  • 网站开发的流程和步骤是什么网站 必须有的功能
  • 怎么跳转网站编程语言有哪些
  • wordpress子域名站点做网站哪些网络公司好
  • 做网站的流程前端做什么北京简网科技有限公司
  • dedecms 视频网站模板简单的企业网站源码
  • 有什么网站是专做婚礼素材的乔拓云建站有免费的吗
  • 小型行业网站建设维护成本网站内页标题
  • 深圳罗湖建网站企业建站框架
  • 做营销网站的企业wordpress js加载速度
  • 如何做网站文件网站按钮样式