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

阿里巴巴国际站官网网页版百度认证中心

阿里巴巴国际站官网网页版,百度认证中心,陕西省住房和城乡建设厅综合网站,网站必须到公安局备案吗给你一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 你必须设计并实现线性时间复杂度的算法且仅使用常量额外空间来解决此问题。 示例 1: 输入&…

给你一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。

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

示例 1:

输入:nums = [1,2,1,3,2,5]
输出:[3,5]
解释:[5, 3] 也是有效的答案。

示例 2:

输入:nums = [-1,0]
输出:[-1,0]

示例 3:

输入:nums = [0,1]
输出:[1,0]

提示:

  • 2 <= nums.length <= 3 * 104
  • -231 <= nums[i] <= 231 - 1
  • 除两个只出现一次的整数外,nums 中的其他数字都出现两次


题解
位运算

将 x 的所有位都取反得到的值。通过与原数 x 进行按位与运算(&),可以得到一个结果,其中只有最低位的 1 保留下来,其他位都为 0。

这个方法的原理在于,当对一个数 x 取反时,得到的 -x 在二进制表示上是 x 的按位取反加 1。因此,-x 的二进制表示中最低位的 1 对应的位置就是 x 中最低位的 1 的位置。通过与 x 进行按位与运算,可以将这个最低位的 1 提取出来。

code:

    public int[] singleNumber(int[] nums) {int xorsum = 0;for (int num : nums) {xorsum^= num;}// 防止溢出int lsb = (xorsum == Integer.MIN_VALUE ? xorsum : (xorsum & -xorsum));int type1 = 0, type2 = 0;for (int num : nums) {if ((num & lsb) != 0) {type1 ^= num;} else {type2 ^= num;}}return new int[]{type1, type2};}

http://www.tj-hxxt.cn/news/91219.html

相关文章:

  • 日本设计类网站大全泉州百度seo
  • 长春网站建设推广优化长尾关键词挖掘网站
  • 网站建设费用 发票网页制作代码
  • 站酷网站的图是用什么做的免费b站推广网站链接
  • 做外汇都看那些网站东莞做网站的公司吗
  • 高校两学一做专题网站b站好看的纪录片免费
  • 桂林建设网站公司网推资源渠道
  • 做网站的公司需要什么资质中国公关公司前十名
  • 网站换dns创建网站的流程是什么
  • 服务质量好的crm系统北京关键词seo
  • 安全无毒做网站百度推广公司怎么代理到的
  • 源码做微信电影网站江西省seo
  • 网站开发和网站建设seo技术建站
  • 做美女图片网站赚钱chatgpt 链接
  • 阀门专业网站建设最有效的恶意点击
  • java做手机网站建设郑州官网网络营销外包
  • 网站建设方案书写域名查询大全
  • 桂平网站制作沧州网站优化公司
  • 云南网站公司网站收录登录入口
  • 广州医院网站建设成品视频直播软件推荐哪个好用
  • 安徽旅游在线网站建设网络营销推广专员
  • php手机网站开发教程外贸网站制作公司
  • 响应式网站怎么改超级外链
  • 上海网站建设咨询百度首页 百度
  • 营销型企业网站建设的内容app拉新平台哪个好佣金高
  • 中国城市建设网网站seo是搜索引擎优化
  • 做公司集团网站sem 优化价格
  • 武昌网站制作建设网页设计效果图及代码
  • 如何在jsp上做网站页面电商产品推广方案
  • seo是付费还是免费推广网站移动端优化工具