力扣热题100 JavaScript--136. 只出现一次的数字

给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。

示例 1 :

输入:nums = 2,2,1

输出:1

示例 2 :

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

输出:4

示例 3 :

输入:nums = 1

输出:1

javascript 复制代码
 //1、异或
var singleNumber = function(nums) {
 var a= 0
 for(var i = 0;i < nums.length;i++){
     a ^= nums[i] 
 }
 return a
};
javascript 复制代码
//2、排除
var singleNumber = function(nums) {
var temp = []
for(var i = 0;i <nums.length;i++){
    if(temp.indexOf(nums[i])==-1){
        temp.push(nums[i])
    }else{
        temp.splice(temp.indexOf(nums[i]),1)
    }
}
return temp[0]
};
相关推荐
To_OC4 小时前
别再瞎写 React Router!7 个高频踩坑点一次性讲透
前端·javascript·react.js
坚持编程的菜鸟6 小时前
模拟实现memmove
c语言·算法·模拟实现memmove
岭南灯火6 小时前
前端通用交互式几何编辑器的设计法则 3 - 数据对象的设计
前端·javascript·架构
岭南灯火6 小时前
前端通用交互式几何编辑器的设计法则 2 - 交互事件流
前端·javascript·架构
岭南灯火7 小时前
前端通用交互式几何编辑器的设计法则 1 - 入口的对象及其成员
前端·javascript·架构
wabs6667 小时前
关于图论【最短路径之Dijkstra算法(堆优化版)|卡码网47.参加科学大会的思考】
数据结构·算法·图论·优先级队列·邻接表·小顶堆·卡码网
满栀5857 小时前
Vue.js 接口封装最佳实践:从基础到高级
前端·javascript·vue.js
坚持编程的菜鸟7 小时前
编写判断大小端程序
c语言·算法·判断大小端
papaofdoudou7 小时前
判断排列逆序奇偶性的乘积判别法(范德蒙德符号法)
人工智能·算法
linux-hzh8 小时前
百日算法修炼 · Day 03
java·算法