当前位置: 首页 > 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.15wanjia.com/news/28406.html

相关文章:

  • wordpress获取自定义字段值优化教程网官网
  • 公司建站费用软件定制开发
  • asp+dreamweaver动态网站开发泰安优化关键词排名哪家合适
  • 深圳网站建设ln12345网络营销价格策略有哪些
  • 中山品牌网站建设制作网站模板
  • 免费可商用网站网站收录平台
  • 做网站怎样办营业执照网站服务器查询
  • 有什么做酒和水果茶教程的网站目前最靠谱的推广平台
  • 武汉企业网站制作短视频矩阵seo系统源码
  • 东莞横沥做网站seo外包公司专家
  • WordPress加速优化方案广州seo优化
  • 公司网站定位建议淘宝seo优化怎么做
  • 莱芜 做网站 公司成品视频直播软件推荐哪个好用
  • 怎么做vip视频网站互联网广告代理商
  • php美食网站开发的意义百度指数十年
  • 做网站公司没签合同上海牛巨微seo
  • 嵌入式累还是程序员累龙泉驿网站seo
  • 网站建设销售怎么做如何把一个关键词优化到首页
  • 英文外贸网站保定seo排名优化
  • wordpress的主机如何推广seo
  • 青海做网站公司企业网站的优化建议
  • 邢台本地网站百度知道首页网
  • 拉萨做网站公司快速排名方案
  • 专业网站建设品牌策划方案怎么在百度上推广产品
  • 绍兴公司网站建设 中企动力绍兴深圳网站建设方案
  • 怎样给自己做网站搜索引擎优化方案
  • 网站建设入门书籍曲靖seo
  • 做网站用bootstrap好网络营销ppt讲解
  • 厦门建设局网站首页中国网络优化公司排名
  • 现代网站开发建设全网seo优化电话