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

商丘网站建设模板如何接广告赚钱

商丘网站建设模板,如何接广告赚钱,如何开展网站推广,合江县住房和城乡规划建设局网站题目描述: 给你一个 非空 整数数组 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.mmbaike.com/news/57507.html

相关文章:

  • 网站制作顶级公司百度投放广告联系谁
  • 如何做网站二维码软件测试培训费用大概多少
  • 网站企业广东省最新新闻
  • 长沙建网站企业网络营销策略案例
  • 为何只有建设银行网站打不开青岛网站建设哪家好
  • 襄阳做网站找哪家公司谷歌搜索排名
  • 共享ip做网站企业文化经典句子
  • 大众团购网站怎么做网络营销方案总结
  • 开源商城小程序什么是优化师
  • 网站建设需要哪些职位网络营销服务的特点
  • 移动网站怎么做的靠网络营销火起来的企业
  • 南宁定制网站建设seo入门版
  • flash 网站管理系统seo优化方案案例
  • 做pc端网站什么开头百度一下浏览器下载安装
  • 怎么接网站开发外包郑州seo线上推广系统
  • 赣州做网站seo门户网
  • 网络行业都有哪些工作上海seo推广方法
  • 今日特大军事新闻seo是指什么
  • wordpress建站原理关键词搜索工具app
  • dede手机网站百度seo关键词优化方案
  • 看b站直播有哪些seo排名方案
  • 做数字艺术设计的网站长沙网络营销公司排名
  • 上海网站营销seo品牌公关具体要做些什么
  • 做自己的卡通人物的网站百度推广怎么看关键词排名
  • 苏州知名高端网站建设公司怎么有自己的网站
  • 绵阳网站建设信赖辉煌seo技术公司
  • 建设网站的知识竞赛东莞做网站公司
  • 中国网站建设网页设计营销咨询公司排名
  • 摄影网站有哪些?营销网站搭建
  • 新疆找工作哪个网站好网站如何推广出去