zoukankan      html  css  js  c++  java
  • xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

    algorithm & bitwise operation & the best leetcode solutions

    leetcode 136 single-number

    the better solution

    /**
     * @param {number[]} nums
     * @return {number}
     */
    var singleNumber = function(nums) {
      return nums.reduce((sum, i) => sum ^ i, 0);
    };
    // Time complexity : O(n)
    // Space complexity : O(1)
    
    

    my solution

    solution 1

    "use strict";
    
    /**
     *
     * @author xgqfrms
     * @license MIT
     * @copyright xgqfrms
     * @created 2020-08-015
     * @modified
     *
     * @description 136 single-number
     * @difficulty Easy
     * @complexity O(n)
     * @augments
     * @example
     * @link
     * @solutions
     *
     */
    
    const log = console.log;
    
    var singleNumber = function(nums) {
      let len = nums.length;
      // obj unique key
      const obj = {};
      while(len) {
        const value = nums[len - 1];
        if(obj[value] === undefined) {
          obj[value] = 1;
        } else {
          obj[value] += 1;
        }
        len--;
      }
      // log(`
    keys`, Object.keys(obj))
      // log(`values`, Object.values(obj))
      // log(`entries`, Object.entries(obj))
      for (const key in obj) {
        if (obj.hasOwnProperty(key)) {
          const item = obj[`${key}`];
          if(item === 1) {
            return key;
          }
        }
      }
    };
    // Time complexity : O(n)
    // Space complexity : O(n)
    
    /*
    
    输入: [2,2,1]
    输出: 1
    
    输入: [4,1,2,1,2]
    输出: 4
    
    */
    
    const test = [2,2,1];
    const result = singleNumber(test);
    log(`result =`, result)
    // 1
    
    const test2 = [4,1,2,1,2];
    const result2 = singleNumber(test2);
    log(`result2 =`, result2)
    // 4
    
    

    如何使用 js 计算两个数组的交集、差集、并集、补集

    https://www.hangge.com/blog/cache/detail_1862.html

    refs

    https://leetcode-cn.com/problems/single-number/

    https://leetcode.com/problems/single-number/


    Flag Counter

    ©xgqfrms 2012-2020

    www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!


  • 相关阅读:
    demo12-回到顶部
    demo11-友情链接
    demo10-超链接标签
    demo09-程序员练习
    demo08-图片标签
    demo07-盒子标签
    demo06-字体标签
    demo05-换行标签
    转 j2ee .线程池.对象池,连接池
    几种开源Java Web容器线程池…
  • 原文地址:https://www.cnblogs.com/xgqfrms/p/13508826.html
Copyright © 2011-2022 走看看