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

网站开发公司计划书工厂管理培训课程

网站开发公司计划书,工厂管理培训课程,做软件项目需不需要有网站,wordpress缩略图加载慢题目描述: 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 示例 1 &#…

题目描述:

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

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

示例 1 :

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

示例 2 :

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

示例 3 :

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

提示:

  • 1 <= nums.length <= 3 * 104
  • -3 * 104 <= nums[i] <= 3 * 104
  • 除了某个元素只出现一次以外,其余每个元素均出现两次。

通过次数

975.3K

提交次数

1.3M

通过率

72.8%

思路和题解:

思路一:暴力枚举:

每次从数组中取出一个数,然后从剩余的数中查找,如果找不到就说明这个数只出现一次。时间复杂度O(n^2),空间复杂度O(1),时间复杂度不符合要求

思路二:排序

数组中只有一个数出现了一次,其余都出现了两次,可以先将数组排序,然后再遍历一次数组,如过某个数字和前面的数后面的数都不想等,那就是只出现一次的数。时间复杂度O(nlog n),空间复杂度O(1),空间复杂度符合条件,时间复杂度不知道不知道算不算线性。

思路三:建立映射表

建立一个map,遍历每一个数字,遍历时查找有无该数对应的键,如果有就删除,如果无就加入,遍历完后剩下的那个就是只出现一个的数。

思路四:位运算

先将要返回的数字ans设为0,ans依次与数组里的每一个数进行按位异或运算,由于异或运算是可交换的,运算完成后,出现两次的数会因为每一位都相同而变为0,出现一次的数和0进行异或位运算而保留下来。时间复杂度O(n),空间复杂度O(1),都符合要求。代码:

class Solution{
public:int singleNumber(vector<int>& nums){int ans=0;for(int i=0;i<nums.size();i++)ans^=nums[i];return ans;}
};

http://www.hkea.cn/news/242569/

相关文章:

  • 网站建设怎么分录2022年新闻摘抄简短
  • 江西景德镇建设厅网站太原关键词排名推广
  • 番禺做网站自媒体发布平台有哪些
  • 用dede做的网站首页电子商务网络营销
  • 最好的做任务赚钱网站网络域名怎么查
  • 建设部规范网站百度app关键词优化
  • 骏域网站百度怎么收录网站
  • 网站robots.txt查看九江seo公司
  • 建设阿里妈妈网站搜索引擎排名优化seo
  • 自学网站建设作业创建网站免费
  • 营销网站定制的优势成品网站源码的优化技巧
  • 高职学院网站建设方案广告制作
  • table表格 做的网站营销案例分析报告模板
  • pc端网站做移动适配教育培训机构管理系统
  • 页游传奇排行榜无锡seo优化公司
  • 广西南宁网站设计百度seo算法
  • 网站建设服务怎么样近期国内热点新闻事件
  • 阿里巴巴网站国际站建设seo托管服务
  • 企业网站优化之如何做需求分析网奇seo赚钱培训
  • 施工企业会计制度收入确认规定百度自然排名优化
  • 校园网站建设意义网络营销的特点有哪些
  • 内江做网站哪里便宜google搜索关键词热度
  • 福建省建设银行招聘网站网络推广员压力大吗
  • 动态网站订单怎么做搜索引擎优化营销
  • html5行业网站最近有哪些新闻
  • 做网站业务的怎么寻找客户在哪里打广告效果最好
  • 广东深圳seo服务内容
  • 做网站怎么备案网络服务有限公司
  • 网站主页特效欣赏百度官网下载电脑版
  • php mysql开发网站开发任何小说都能搜到的软件