Given a non-empty array of integers, every element appears three times except for one, which appears exactly once. Find that single one.
Example 1:
Input: [2,2,3,2]
Output: 3
题目:一组非空数组,每个元素都存在3个相同的值,除了一个单独的数,找出这个单独的数。
思路:先将数组排序,这样相同的数就会在一起,从第一个数开始判断,如果它后面的数跟它一样,则不是那个单独的数,再次判断的索引加3,如果其中有单独的数则直接输出,否则索引会一直循环到最后一个数,必是那个单独的数直接输出即可。
/**
* @param {number[]} nums
* @return {number}
*/
var singleNumber = function(nums) {
var numArr = nums.sort();
for(let i=0;i<numArr.length;i=i+3){
var num = numArr[i];
if(i === numArr.length-1) return num;
if(num !== numArr[i+1]){
return num;
}
}
};
网友评论