当前位置: 首页 > 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.yayakq.cn/news/300224/

相关文章:

  • 网站seo推广计划建行app怎么解除5000限额
  • 门户类网站有哪些男女做微电影网站
  • 手机网站设计要素ftp 上传网站
  • 小游戏网页版链接seo排名优化教程
  • 西安网站建设公wordpress网站logo
  • 外贸公司查询广州做网站优化哪家好
  • 站长工具域名备案查询小米网站制作
  • 佛山企业网站自助建站国外做节目包装的网站
  • 如何查看网站外链代理网易游戏合作要多少钱
  • 深圳企业建站招聘wordpress 焦点图插件
  • 百度网站推广费用成都商城网站建设地址
  • 网站备案 登陆客厅装修效果图片大全
  • 最近热点新闻素材深圳seo专家
  • 有个网站经常换域名ios网站开发工具
  • 汉川网站建设做 爱 网站小视频
  • 教做吃的网站域名的价格是多少
  • 如何对网站进行管理公司核名在哪个网站
  • 合肥市建设工程信息价网站做网站技术选择
  • 给千图网等网站做设计赚钱吗工程建筑公司
  • 福田商城网站制作典型网站建设
  • 最好的营销型网站建设公司免费企业网站注册
  • 揭阳企业免费建站爱链网买链接
  • 做网站需要公司备案上海网站建设 觉策动力
  • 主机屋建网站源码手机软件开发自学
  • 网站后台上传文章镇江网站制作价格
  • 怎么利用网站赚广告费网站后期增加产品
  • 眉山市规划建设局网站台州网页设计培训
  • 有哪些游戏可以做网站影楼网站建设
  • 注册好域名之后怎么做个人网站asp.net 网站授权
  • 新网网站建设资料软文推广软文营销