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

桂林网站建设招聘制作公司网站怎么做

桂林网站建设招聘,制作公司网站怎么做,医生咨询在线24小时免费,重庆网站设计公司推荐1、问题 给你一个 非空 整数数组 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/a/601819.html

相关文章:

  • 电脑CPU温度多少算正常?温度过高的原因分析
  • 广安住房和城乡建设厅网站10分钟免费建网站
  • 系统监控“可视化“实战:3步搭建企业级监控面板
  • 株洲网站建设优度外贸培训
  • 使用DelayQueue 分布式延时队列,干掉定时任务!
  • 外贸网站开发多少钱汕头百度seo电话
  • C语言反编译技术分析 | 探讨其实现原理与应用场景
  • C语言经过编译后 | 了解编译过程对程序执行的影响
  • 哈尔滨h5模板建站比较开放的浏览器
  • 公司网站模板设计网站建设挣钱么
  • 想自己做点飘纱素材到网站上买自己电脑做服务器搭建网站有域名
  • 电子电气架构 ---系统工程与系统架构的内涵
  • 2024年蚌埠市科学技术奖提名工作申报条件程序通知
  • 基于MATLAB的复杂场景下车牌识别与车辆信息管理系统
  • Free Pycharm in Docker
  • TiDB 备份与恢复整理
  • 网站运营 开发上上海海网网站站建设
  • 公司怎样制作网站织梦做双语网站
  • Spring 中的 @ExceptionHandler 注解详解与应用
  • 网站建设有哪些软件卖鞋做哪个网站好
  • linux课堂练习1112
  • OpenStack 在线扩容卷超时问题
  • MySQL 慢查询优化:从定位、分析到索引调优的完整流程
  • 企业门户网站开发公司wordpress 开启多用户
  • 高权重网站代做排名公司招商型网站建设
  • C++基于websocket的多用户网页五子棋 ---- 模块介绍1
  • Java-169 Neo4j CQL 实战速查:字符串/聚合/关系与多跳查询
  • STM32电机运动控制的设计
  • 安徽福凯建设集团网站南宁网站建设是什么意思
  • TCP/IP 协议栈