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

西安易扬众和网站建设深圳推广网络

西安易扬众和网站建设,深圳推广网络,上海网站建设 paiky,phpadmin wordpress1、问题 给你一个 非空 整数数组 nums,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 2、示例 (1&…

1、问题

         给你一个 非空 整数数组 nums,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。  你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。

2、示例

(1)

            示例 1 :

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

            输出:1

(2)

             示例 2 :

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

            输出:4

3、解决思路

方法1

        统计数组频次,然后将map转化为数组,通过filter返回其中频次为1的数

方法2

        利用异或,因为除了某个元素只出现一次以外,其余每个元素均出现两次,相同的会抵消,不同的那个,如果初始值为0的话,0和不同的那个的结果是不同的那个

        (同0,异1,二进制)

4、具体步骤

方法1

(1)统计数组频次

      

(2)将map转化为数组,通过filter返回其中频次为1的数

方法2

        (1)设置结果res的初始值为0,遍历数组

        (2)在数组中进行异或,然后将异或结果,赋给res

        

        

5、完整代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>只出现一次的数字</title></head><body><p>给你一个 非空 整数数组 nums,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。<br />你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。</p><p><p>示例 1 :输入:nums = [2,2,1]输出:1</p><p>           示例 2 :输入:nums = [4,1,2,1,2]输出:4</p><p>示例 3 :输入:nums = [1]输出:1</p></p><p>线性时间复杂度(Linear Time Complexity)的算法在时间上的开销与其处理的输入数据规模成线性关系,即时间复杂度为 O(n),其中 n 是输入数据的大小。以下是几种常见的线性时间复杂度的算法:</p><script>let nums = [4,1,2,1,2]singleNumber(nums)function singleNumber(nums) {const newMap = new Map()nums.forEach(item => {if (newMap.has(item)) {newMap.set(item,newMap.get(item)+1)}else{newMap.set(item,1)}});// console.log(newMap);const arr = Array.from(newMap.entries())//    console.log(arr);const res = arr.filter(item => item[1]===1)[0][0]//    console.log(res);return res};</script></body>
</html>

6、力扣通过代码

方法1

/*** @param {number[]} nums* @return {number}*/
var singleNumber = function(nums) {const newMap = new Map()nums.forEach(item => {if (newMap.has(item)) {newMap.set(item,newMap.get(item)+1)}else{newMap.set(item,1)}});// console.log(newMap);const arr = Array.from(newMap.entries())//    console.log(arr);const res = arr.filter(item => item[1]===1)[0][0]//    console.log(res);return res
};

方法2

/*** @param {number[]} nums* @return {number}*/
var singleNumber = function(nums) {// ans被初始化为0。由于异或操作的自反性,任何元素与0异或都等于它本身let res = 0;for(const num of nums) {// console.log(res,num,res^num);res ^= num;// console.log(res);}return res;
};

http://www.dtcms.com/wzjs/394947.html

相关文章:

  • 合肥网站建设求职简历seo搜索引擎优化论文
  • 企业网站推广联系方式广告宣传费用一般多少
  • 贵阳百度公司建网站电话seo诊断方法步骤
  • 七牛 wordpressseo博客网址
  • 怎样在网上建网站做电商生意百度收录推广
  • 政府网站外文版建设评估抖音视频seo霸屏
  • 中国建设银行招聘网站通知今日广州新闻最新消息
  • 无锡网页建站武汉网站推广很 棒
  • 在中国做博彩网站违法吗网站自助建站系统
  • 网站如何制作做吸引客户seo监控系统
  • 招聘网站如何做百度信息流推广和搜索推广
  • 政务公开网站建设意义关于友情链接的作用有
  • 卫浴响应式外贸网站建设视频营销成功的案例
  • 嘉瑞建设有限公司网站广告精准推广平台
  • 自己做的网站不能用手机访问网站seo思路
  • 郑州微科网站建设seo网站怎么优化
  • 网站建设和执纪监督百度百科创建
  • 主机屋做淘宝客网站外包网站
  • 怎样建设个人手机网站seo公司优化方案
  • 家具公司网站模板上海免费关键词排名优化
  • 网站服务运营队伍与渠道建设企业管理培训视频免费
  • 网站建设营业执照怎么关闭seo综合查询
  • 网站免费优化软件每日新闻摘抄10条
  • 今日头条网站用什么做的北京网站优化常识
  • 聊城企业做网站关键词推广系统
  • 做亳州旅游网站的目的刷移动端seo软件
  • 漳州建设局网站首页建网站哪个平台好
  • 免费网站去哪找百度广告推广怎么收费
  • 四川网站开发发广告平台有哪些免费
  • 怎么说服客户做网站百度网站提交入口网址