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

商丘网站建设案例b2b网站大全免费

商丘网站建设案例,b2b网站大全免费,网站需求建设关系书,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.tj-hxxt.cn/news/85239.html

相关文章:

  • 网页广告屏蔽成都seo服务
  • 潜江网站建设seo网络排名优化哪家好
  • 潍坊网站建设 诸城亚马逊关键词快速优化
  • 流量对网站排名的影响因素chrome网页版入口
  • 网站建设国内外研究现状模板友情链接交易网
  • 青海西宁学做网站在哪中国优秀网页设计案例
  • 猪八戒网建设网站2500然后她叫我弄500.另外在给他2000数字营销公司排行榜
  • 网站原创内容优化网络营销的认识
  • 无锡网站优化公司最好用的免费建站平台
  • 专做智能化施工的网站seo网站快速整站优化技术
  • 高端网站制网站搜索引擎优化诊断
  • 移动端什么意思黄山seo排名优化技术
  • 推广平台赚钱seo技术培训广东
  • 官方重大项目建设库网站今日武汉最新消息
  • 网站建设完成最新seo自动优化软件
  • h5网站显示的图标怎么做网站搜索引擎优化技术
  • 长春网站建设厂家做个电商平台要多少钱
  • sae做的网站备份如何做好企业推广
  • 网站程序本地测试网站建设及网络推广
  • ppt下载免费网站交换链接是什么意思
  • 响应式网站的优缺点优化设计
  • 做数独网站能挣钱吗网络服务包括哪些内容
  • 做餐饮系统网站厦门网站搜索引擎优化
  • 怎么下载网站动态图片如何引流推广产品
  • wordpress后台字体seo全网推广营销软件
  • 长兴企业网站开发百度知道网址
  • 自己做网站出口软件定制开发公司
  • 番禺区网站建设小程序
  • 国际网站群建设方案深圳全网推广方案
  • 搭建动态网站视频广告联盟平台