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

开封建设企业网站公司百度广告搜索引擎

开封建设企业网站公司,百度广告搜索引擎,天津交友网站建设,照片网站模版消失的数字 解法一:求和相减 假设nums为[0,1,2,4],消失的数字为3,完整的数组应该是[0,1,2,3,4],则sum101247,sum20123410,我们很容易发现 sum2-sum1 01234 - 0124 3,即为消失的数字。因此,我们可以采用先…

消失的数字

在这里插入图片描述

解法一:求和相减

假设nums为[0,1,2,4],消失的数字为3,完整的数组应该是[0,1,2,3,4],则sum1=0+1+2+4=7,sum2=0+1+2+3+4=10,我们很容易发现
sum2-sum1 = 0+1+2+3+4 - 0+1+2+4 = 3,即为消失的数字。因此,我们可以采用先相加再相减的方法,就可以求出消失的数字。
代码如下:

int missingNumber(int* nums, int numsSize)
{int tmp = 0;int talg = 0;for (int i = 0;i <= numsSize;i++){tmp = tmp + i;//求数组下标之和}for (int j = 0;j < numsSize;j++){talg += nums[j];//求数组元素之和}return tmp - talg;
}

解法二:异或

首先我们得清楚异或 ^ 的原理:
相同为0,相异为1,并且0^任何数都等它本身
a ^ a = 0、a ^ b = b ^ a、0 ^ a = a 、(a!=b)
那么根据上述的原理我们便可以使用异或进行解题:
首先异或上所有数,n即为此数组元素个数,即ret = 0 ^ 1^ 2^ …^n
然后对数组元素异或,nums[0]^ nums[1] ^ …^ nums[numsSize-1]
然后异或这二者,即
ret = 0^ 1^ 2^ 3^ …^ n^ nums[0] ^ nums[1]^ …^nums[numsSize-1]
最终ret就为消失的数字
打个比方:nums[] = {2,3,4,5,6}
ret = 0 ^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 6 ^ 2 ^ 3 ^ 4 ^ 5 ^ 6 = 1.

int missingNumber(int* nums, int numsSize)
{//异或int ret = 0;//先异或0-n的所有数for(int i = 0; i <= numsSize; ++i){ret ^= i;}//再将ret与数组所有数异或for(int i = 0; i < numsSize; ++i){ret ^= nums[i];}return ret;
}

数组中出现的次数

在这里插入图片描述
同上可得,此题采用异或的位运算是最合适的。

int* singleNumbers(int* nums, int numsSize, int* returnSize) {int ret = 0;int i = 0;int num1 = 0;int num2 = 0;int pos = 0;int* arr = (int*)malloc(2 * sizeof(int));//通过0对自身依次异或,将两个单独的数的异或后的结果找出for (i = 0; i < numsSize; i++){ret ^= nums[i];}//找到异或后结果的二进制序列,找出为1的位数for (i = 0; i < 32; i++){if ((ret >> i) & 1 == 1){pos = i;break;}}//找到位数后,将按其他数的这个位数是否为1,还是为0进行分离,形成两组数,分别自身异或,最后剩下的就是单独的数。for (i = 0; i < numsSize; i++){if ((nums[i] >> pos) & 1 == 1){num1 ^= nums[i];}else{num2 ^= nums[i];}}arr[0] = num1;arr[1] = num2;*returnSize = 2;return arr;
}
http://www.hkea.cn/news/511443/

相关文章:

  • 上海正规网站制作价格可口可乐软文营销案例
  • 番禺网站 建设信科网络站长之家ping
  • 建筑工程施工承包合同关键词优化报价推荐
  • 网站可以免费看企业网站系统
  • 中华人民共和国建设部网站seo怎么快速提高排名
  • 南宁做网站的有几家东莞网络营销网站建设
  • 苏州知名网站建设开发新区seo整站优化公司
  • 政府建设网站计划书品牌营销策略包括哪些内容
  • 深圳市做网站百度seo排名点击器app
  • 五莲网站建设维护推广网络营销推广及优化方案
  • 重庆网红整站多关键词优化
  • 动易网站cms一级消防工程师考试
  • wordpress更新报错想找搜索引擎优化
  • 提供网站建设费用资源网
  • wordpress怎么使用主题seo优化评论
  • 柳州做网站如何建网站详细步骤
  • 黄岛做网站哪家好四川seo关键词工具
  • dede门户网站模版写软文推广
  • 网站开发者排名开发一个app平台大概需要多少钱?
  • 做网站 博客百度推广助手客户端
  • 温州市手机网站制作哪家好爱站网长尾词挖掘
  • 党委网站建设要求凡科建站靠谱吗
  • wordpress 安卓客户端福建seo优化
  • 襄阳seo技术长沙seo网站优化
  • 做一的同志小说网站做seo要投入什么
  • 网站的文件结构百度搜索排名怎么收费
  • 全景网站app网络营销工具分析
  • 南京建设工程交易中心网站seo是什么的简称
  • 利用vps做网站关键字排名查询
  • 常熟网站制作找哪家好品牌型网站制作价格