Skip to content

Commit 83e2f4a

Browse files
committed
feat: update solutions to leetcode problem: No.0136
1 parent 00c256d commit 83e2f4a

File tree

6 files changed

+74
-24
lines changed

6 files changed

+74
-24
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@
111111

112112
### 数学
113113

114+
- [只出现一次的数字](/solution/0100-0199/0136.Single%20Number/README.md)
114115
- [数组中数字出现的次数](/lcof/面试题56%20-%20I.%20数组中数字出现的次数/README.md)
115116
- [数组中数字出现的次数 II](/lcof/面试题56%20-%20II.%20数组中数字出现的次数%20II/README.md)
116117
- [错误的集合](/solution/0600-0699/0645.Set%20Mismatch/README.md)

README_EN.md

+1
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ Complete solutions to [LeetCode](https://leetcode-cn.com/problemset/all/), [LCOF
105105

106106
### Math
107107

108+
- [Single Number](/solution/0100-0199/0136.Single%20Number/README_EN.md)
108109
- [Set Mismatch](/solution/0600-0699/0645.Set%20Mismatch/README_EN.md)
109110
- [Count Primes](/solution/0200-0299/0204.Count%20Primes/README_EN.md)
110111
- [Missing Number](/solution/0200-0299/0268.Missing%20Number/README_EN.md)

solution/0100-0199/0136.Single Number/README.md

+28
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,34 @@ class Solution {
6161
}
6262
```
6363

64+
### **JavaScript**
65+
66+
```js
67+
/**
68+
* @param {number[]} nums
69+
* @return {number}
70+
*/
71+
var singleNumber = function (nums) {
72+
let res = 0;
73+
for (let num of nums) {
74+
res ^= num;
75+
}
76+
return res;
77+
};
78+
```
79+
80+
### **Go**
81+
82+
```go
83+
func singleNumber(nums []int) int {
84+
res := 0
85+
for _, v := range nums {
86+
res ^= v
87+
}
88+
return res
89+
}
90+
```
91+
6492
### **...**
6593

6694
```

solution/0100-0199/0136.Single Number/README_EN.md

+28
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,34 @@ class Solution {
5959
}
6060
```
6161

62+
### **JavaScript**
63+
64+
```js
65+
/**
66+
* @param {number[]} nums
67+
* @return {number}
68+
*/
69+
var singleNumber = function (nums) {
70+
let res = 0;
71+
for (let num of nums) {
72+
res ^= num;
73+
}
74+
return res;
75+
};
76+
```
77+
78+
### **Go**
79+
80+
```go
81+
func singleNumber(nums []int) int {
82+
res := 0
83+
for _, v := range nums {
84+
res ^= v
85+
}
86+
return res
87+
}
88+
```
89+
6290
### **...**
6391

6492
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
func singleNumber(nums []int) int {
2+
res := 0
3+
for _, v := range nums {
4+
res ^= v
5+
}
6+
return res
7+
}
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,11 @@
1-
const singleNumber2 = function (nums) {
2-
const map = {};
3-
for (let i = 0; i < nums.length; i++) {
4-
if (map[nums[i]] === undefined) {
5-
map[nums[i]] = 1;
6-
} else if (map[nums[i]] === 1) {
7-
map[nums[i]]++;
8-
}
1+
/**
2+
* @param {number[]} nums
3+
* @return {number}
4+
*/
5+
var singleNumber = function (nums) {
6+
let res = 0;
7+
for (let num of nums) {
8+
res ^= num;
99
}
10-
for (let key in map) {
11-
if (map[key] === 1) {
12-
return Number(key);
13-
}
14-
}
15-
};
16-
const singleNumber = function (nums) {
17-
//XOR
18-
let result = 0;
19-
for (let i = 0; i < nums.length; i++) {
20-
result = result ^ nums[i];
21-
}
22-
return result;
23-
24-
//or in es6
25-
//return nums.reduce((result, num) => result ^ num, 0);
10+
return res;
2611
};

0 commit comments

Comments
 (0)