137. Single Number II

2018-09-06  本文已影响0人  菁卡因

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;
          }
      }
  };
上一篇下一篇

猜你喜欢

热点阅读