题目描述:
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 。
示例一:
输入: [2,2,1]
输出: 1
复制代码
示例二:
输入: [4,1,2,1,2]
输出: 4
复制代码
题解分析:
暴力法,根据索引来判断。indexOf从左往右找,lastIndexOf从右往左找。 当元素只出现一次时,无论从哪里找起,索引都是相同的。结果返回元素即可
/**
* @param {number[]} nums
* @return {number}
*/
var singleNumber = function(nums) {
let num = nums.sort((a,b) => {return a-b;});
let res;
if(num[0] != num[1])
{
return num[0];
}
if(num[num.length-1]!=num[num.length-2])
{
return num[num.length-1];
}
for(let i=1;i<num.length-1;i++)
{
if(num[i] != num[i+1] && num[i] != num[i-1])
{
res = num[i];
}
}
return res;
};
复制代码
总结
暴力干掉一切。
本文正在参与「掘金 2021 春招闯关活动」, 点击查看 活动详情