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

柳州洛维建设网站中国住建部和城乡建设官网

柳州洛维建设网站,中国住建部和城乡建设官网,天津黑曼巴网站建设,软文营销的成功案例给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 思路一:快排(…

给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。

思路一:快排(时间复杂度不符)

int cmp(const void*a,const void *b){return *(int*)a-*(int*)b;
}int singleNumber(int* nums, int numsSize){qsort(nums,numsSize,sizeof(int),cmp);for(int i = 0;i<numsSize-1;i++){if(nums[i]==nums[i+1])i++;else return nums[i];}return nums[numsSize-1];
}

分析:

本题要找出只出现一次的元素,可以考虑先将数组内数先进行排序后找出只出现一次的数,即每两个数判断一次,当前后数不一致时返回那个数

思路二:位运算

int singleNumber(int* nums, int numsSize)
{int n = nums[0];int i = 0;for(i = 1;i < numsSize;i ++){n = n ^ nums[i];}return n;
}

分析:

题目中描述使用线性时间复杂度同时要求用常量额外空间即可想到使用位运算来解决,由于相同的数异或为零,而0与其他数异或得到的为另一个数,所以使用异或来解决,for循环遍历完数组后返回N即可解决

总结:

本题考察位运算的用法,在数据量不大的情况下,快排所用时间不一定多于位运算,了解位运算的几个公式即可解决

http://www.yayakq.cn/news/891412/

相关文章:

  • 平陆县网站建设专业seo推广
  • 包装公司网站模板网络架构分为几层
  • 企业网站属于哪种网站类型最优惠的赣州网站建设
  • 如何为公司做网站网站做产品的审核
  • 网站建设的展望wordpress右键
  • dede中英文企业网站交互式网站建设
  • 保山网站建设手机网站优化指南
  • 网站建设公司做ppt吗检测网站开发语言
  • 济南网站设计制作公司漯河住房建设局网站
  • 重慶网站开发wordpress 301
  • 做什么网站重庆seo排名方法
  • 网站后台文章编辑器深圳建设网站上市
  • 网站空间购买 北京懂做网站怎么赚钱
  • 搜狗网站做滤芯怎么样建筑工程网络组网
  • 网站策划书注意事项涟水做网站
  • 同个主体新增网站备案大连中国建筑装饰网
  • 2022企业所得税减半seo关键词优化系统
  • 南京做企业网站网站建设公司有多少
  • 北京移动端网站开发站酷网官网
  • 商城移动端网站开发豌豆荚app下载
  • 建网站的价格虚拟主机免费领取
  • 企业网站推广制作教程用vs做网站 怎么安装
  • 天津有哪些有名的网站建设公司天津餐饮网站建设
  • 网站建设有前途深圳博大建设集团网站
  • 婚纱摄影网站首页活动营销推广方案
  • 视频网站设计做采集网站赚钱
  • 外贸网站服务器选择开发平台官网
  • 佛山网站优化有哪些办公室现代简约装修
  • 广州市住房和城乡建设部网站网站开发团队取什么名字好
  • 湖南品牌网站建站可定制闵行区网站