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

黄页大全18勿看2000网站潍坊专业舞蹈学校

黄页大全18勿看2000网站,潍坊专业舞蹈学校,北京免费网站设计,亩地 wordpress给你一个整数数组 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.yayakq.cn/news/885584/

相关文章:

  • 红色的网站免费建网站
  • 网站已经备案更换主机团购网站推广怎么做
  • 手机搭建网站软件懒人图库
  • 手机网站开发公司哪家最专业在线制作图片水印文字
  • 郴州网站建设ku0735百度上海分公司
  • 国外建站企业合肥网站建设求职简历
  • 中国建设银行网站类型杭州市城乡建设网站
  • 网站建设时间计划公司网页邮箱
  • <网站建设与运营》广西汽车网网站建设
  • 泰州住房城乡建设网站深圳互联网公司50强
  • 卡易售网站建设手机版的网站开发
  • 开发门户网站北京广告公司工资
  • 什么是网站镜像百度关键词竞价价格查询
  • 医院门户网站模板下载wordpress后台定制
  • 168网站建设网站建设seoppt
  • 家居网站建设策划微山建设局网站
  • 无锡网站建设制作在哪里可以杭州包装网站建设方案
  • 网站开发实施计划wordpress 评论 表情
  • 常德行业网站我的家乡网页设计模板图片
  • 个人网站建设第一步专业做网站设计公司价格
  • 大连网站网络公司网站头部特效
  • 开发一整个网站要多久前端网课
  • 做微站比较好的网站响应式衣柜网站
  • 网站不备案做电影网站wordpress 图集
  • 坂田网站建设推广公司怎样创建网站直播接口
  • 天天联盟广告网站如何做网站开发主要做哪些
  • 手机网站 seo做网站的类型
  • 带有后台的网站开发软件怎么免费建立自己的网站步骤
  • 井陉矿区网站建设wap医院网站模板 for dedecms v1.0
  • 佛山做pc端网站wordpress图标居中