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(`\nkeys`, 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/



xgqfrms 2012-2020

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


最新文章

  1. linux自用命令
  2. C++和C#混合编程
  3. Android学习笔记之DocumentBuilder的使用....
  4. HoloLens开发手记 - Unity之Gestures手势识别
  5. 使用busybox构建根文件系统
  6. Linux逻辑卷管理器(LVM)
  7. MySQL 5.5 服务器变量详解一(转)
  8. UVa 11971 (概率) Polygon
  9. Google搜索技术
  10. 更换手机号或者更换手机后QQ设备锁的设置问题
  11. NET基础课--Linq第三讲
  12. 使用go-template自定义kubectl get输出
  13. 一脸懵逼学习Hive(数据仓库基础构架)
  14. MI200e电力线通讯
  15. aspectj 表达式 execution切点函数
  16. Vue开始
  17. XMind使用教程
  18. 【C++】static小结
  19. 报错HTTP Status 500 - The given object has a null identifier: cn.itcast.entity.Customer; nested exception is org.hibernate.TransientObjectException: The given object has a null identifier:
  20. 解析json方式之net.sf.json

热门文章

  1. (007)每日SQL学习:将字符和数字分离
  2. slice 切片实现 Slice object interface
  3. http发送
  4. 编写Hello World ts程序
  5. TCP/IP建立连接的时候ISN序号分配问题
  6. LOJ10090
  7. Apache Hudi 0.7.0版本重磅发布
  8. 使用 Shiro,从架构谈起,到框架集成!
  9. mysql:如何利用覆盖索引避免回表优化查询
  10. STM32通过rosserial接入ROS通讯开发