力扣 (LeetCode)-只出现一次的数字 | 刷题打卡

288 阅读1分钟

题目描述:

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

示例一:

输入: [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 春招闯关活动」, 点击查看 活动详情