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

文山北京网站建设行业网络营销

文山北京网站建设,行业网络营销,可以自学做网站吗,网站建设主要包括题目链接:136. 只出现一次的数字 - 力扣(LeetCode) 题目描述 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的…

题目链接:136. 只出现一次的数字 - 力扣(LeetCode)

题目描述

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

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

示例 1 :

        输入:nums = [2,2,1]

        输出:1

示例 2 :

        输入:nums = [4,1,2,1,2]

        输出:4

示例 3 :

        输入:nums = [1]

        输出:1

题目作答

题目的核心要求是 线性时间复杂度 (O(n))常量额外空间 (O(1))。这两个严格的限制提示我们,不能使用排序(时间不满足)或哈希表(空间不满足)等常规方法。正确的方向是 位运算

1. 核心工具:异或 (XOR) 运算

解决此问题的关键在于巧妙地利用 异或(XOR) 运算符(在 C++ 中是 ^)的几个关键性质:

  1. 任何数和 0 做异或运算,结果仍然是原来的数: a ^ 0 = a

  2. 任何数和其自身做异或运算,结果是 0: a ^ a = 0

  3. 异或运算满足交换律和结合律: a ^ b ^ c = a ^ (b ^ c) = (a ^ c) ^ b

2. 算法思想

根据这些性质,我们可以得出一个绝妙的推论:

  • 如果我们将数组中所有的数字都进行异或运算,那么成对出现的数字会因为 a ^ a = 0 的性质而相互抵消,最终变为 0。

  • 所有成对的数字都抵消为 0 之后,只剩下那个唯一的、只出现一次的数字。

  • 这个唯一的数字与一堆 0 进行异或运算,根据 a ^ 0 = a 的性质,最终的结果就是这个数字本身。

举例说明: nums = [4, 1, 2, 1, 2]

将所有数字进行异或:4 ^ 1 ^ 2 ^ 1 ^ 2

利用交换律和结合律,我们可以重新排列运算顺序: = 4 ^ (1 ^ 1) ^ (2 ^ 2) = 4 ^ 0 ^ 0 = 4 ^ 0 = 4

最终的结果 4 就是那个只出现一次的数字。

3. 算法步骤

  1. 初始化一个变量(例如 result)为 0。

  2. 遍历 nums 数组中的每一个数字。

  3. 将 result 与当前遍历到的数字进行异或运算,并将结果赋值回 result。

  4. 遍历结束后,result 中存储的值就是最终答案。

这种方法只遍历数组一次,时间复杂度为 O(n);只使用了一个额外的变量,空间复杂度为 O(1),完美符合题目要求。

class Solution {
public:int singleNumber(vector<int>& nums) {// 初始化结果为0。0与任何数异或都等于那个数本身。int result = 0;// 遍历数组中的所有数字for (int num : nums) {// 将所有数字进行异或运算// 成对的数字会相互抵消变为0// 最终剩下的就是那个唯一的数字result ^= num;}return result;}
};

 

 

http://www.laogonggong.com/news/58.html

相关文章:

  • 南海网站智能推广企业营销推广方案
  • 邵阳做网站seo大全
  • 网站开发都是模板关键词优化到首页怎么做到的
  • 网站加入wordpress图片识别 在线百度识图
  • 吉林长春火车站官网自动点击关键词软件
  • 济宁网上做科目一的网站网站seo搜索
  • wordpress博客添加标签seo站长工具平台
  • 计算机网络技术培训青岛百度整站优化服务
  • 微信做网站推广赚钱吗上海搜索引擎关键词优化
  • 空包网站怎么做北大青鸟培训机构官网
  • 网站上的产品介绍如何做首页优化排名
  • 加拿大28网站开发百度营销推广官网
  • 河南网站建设软件百度排名点击软件
  • 做国珍新时代 网站网络营销期末考试题库
  • 当今做网站的流行互联网推广平台有哪些公司
  • 三合一企业网站模板网页浏览器
  • 比较好的网站设计公司怎样看网页的友情链接
  • 宁波做外贸网站一键生成app制作器
  • info哪个网站续费便宜seo综合查询站长工具关键词
  • seo系统源码西安seo关键字优化
  • 校际凡科平台是干什么的网站建设排名优化
  • 企业网站建设选题的依据及意义b2b平台推广
  • 手机网站开发下拉刷新青岛网络优化哪家专业
  • 查询备案网站上海搜索优化推广
  • 凡科做的网站被举报了会怎么样2023年6月疫情恢复
  • 龙岗外贸网站建设公司百度搜索热度
  • 人大门户网站建设解决方案百度广告大全
  • 网站建设 APP开发销售怎么做seo做的比较牛的公司
  • 怎么制作图片加文字带声音的视频谷歌seo网站排名优化
  • 商业网站设计方案今天特大新闻