Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit ff5dcfe

Browse files
committed
feat: update leetcode/lcci solutions
* lcci No. 17.04. Missing Number * leetcode No. 0136.Single Number
1 parent b7c6b0d commit ff5dcfe

File tree

12 files changed

+98
-30
lines changed

12 files changed

+98
-30
lines changed

‎lcci/17.04.Missing Number/README.md‎

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@ class Solution:
3939
def missingNumber(self, nums: List[int]) -> int:
4040
res = 0
4141
for i, num in enumerate(nums):
42-
res ^= i
43-
res ^= num
44-
res ^= len(nums)
42+
res = res ^ num ^ (i + 1)
4543
return res
4644
```
4745

@@ -52,12 +50,10 @@ class Solution:
5250
```java
5351
class Solution {
5452
public int missingNumber(int[] nums) {
55-
int res = 0, n = nums.length;
56-
for (int i = 0; i < n; ++i) {
57-
res ^= i;
58-
res ^= nums[i];
53+
int res = 0;
54+
for (int i = 0; i < nums.length; ++i) {
55+
res = res ^ nums[i] ^ (i + 1);
5956
}
60-
res ^= n;
6157
return res;
6258
}
6359
}
@@ -79,6 +75,21 @@ var missingNumber = function(nums) {
7975
};
8076
```
8177

78+
### **C++**
79+
80+
```cpp
81+
class Solution {
82+
public:
83+
int missingNumber(vector<int>& nums) {
84+
int res = 0;
85+
for (int i = 0; i < nums.size(); ++i) {
86+
res = res ^ nums[i] ^ (i + 1);
87+
}
88+
return res;
89+
}
90+
};
91+
```
92+
8293
### **...**
8394
8495
```

‎lcci/17.04.Missing Number/README_EN.md‎

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@ class Solution:
3939
def missingNumber(self, nums: List[int]) -> int:
4040
res = 0
4141
for i, num in enumerate(nums):
42-
res ^= i
43-
res ^= num
44-
res ^= len(nums)
42+
res = res ^ num ^ (i + 1)
4543
return res
4644
```
4745

@@ -50,12 +48,10 @@ class Solution:
5048
```java
5149
class Solution {
5250
public int missingNumber(int[] nums) {
53-
int res = 0, n = nums.length;
54-
for (int i = 0; i < n; ++i) {
55-
res ^= i;
56-
res ^= nums[i];
51+
int res = 0;
52+
for (int i = 0; i < nums.length; ++i) {
53+
res = res ^ nums[i] ^ (i + 1);
5754
}
58-
res ^= n;
5955
return res;
6056
}
6157
}
@@ -77,6 +73,21 @@ var missingNumber = function(nums) {
7773
};
7874
```
7975

76+
### **C++**
77+
78+
```cpp
79+
class Solution {
80+
public:
81+
int missingNumber(vector<int>& nums) {
82+
int res = 0;
83+
for (int i = 0; i < nums.size(); ++i) {
84+
res = res ^ nums[i] ^ (i + 1);
85+
}
86+
return res;
87+
}
88+
};
89+
```
90+
8091
### **...**
8192
8293
```
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Solution {
2+
public:
3+
int missingNumber(vector<int>& nums) {
4+
int res = 0;
5+
for (int i = 0; i < nums.size(); ++i) {
6+
res = res ^ nums[i] ^ (i + 1);
7+
}
8+
return res;
9+
}
10+
};
Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
class Solution {
22
public int missingNumber(int[] nums) {
3-
int res = 0, n = nums.length;
4-
for (int i = 0; i < n; ++i) {
5-
res ^= i;
6-
res ^= nums[i];
3+
int res = 0;
4+
for (int i = 0; i < nums.length; ++i) {
5+
res = res ^ nums[i] ^ (i + 1);
76
}
8-
res ^= n;
97
return res;
108
}
119
}

‎lcci/17.04.Missing Number/Solution.py‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,5 @@ class Solution:
22
def missingNumber(self, nums: List[int]) -> int:
33
res = 0
44
for i, num in enumerate(nums):
5-
res ^= i
6-
res ^= num
7-
res ^= len(nums)
5+
res = res ^ num ^ (i + 1)
86
return res

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,21 @@ func singleNumber(nums []int) int {
9191
}
9292
```
9393

94+
### **C++**
95+
96+
```cpp
97+
class Solution {
98+
public:
99+
int singleNumber(vector<int>& nums) {
100+
int res = 0;
101+
for (auto num : nums) {
102+
res ^= num;
103+
}
104+
return res;
105+
}
106+
};
107+
```
108+
94109
### **...**
95110
96111
```

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,21 @@ func singleNumber(nums []int) int {
8686
}
8787
```
8888

89+
### **C++**
90+
91+
```cpp
92+
class Solution {
93+
public:
94+
int singleNumber(vector<int>& nums) {
95+
int res = 0;
96+
for (auto num : nums) {
97+
res ^= num;
98+
}
99+
return res;
100+
}
101+
};
102+
```
103+
89104
### **...**
90105
91106
```
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Solution {
2+
public:
3+
int singleNumber(vector<int>& nums) {
4+
int res = 0;
5+
for (auto num : nums) {
6+
res ^= num;
7+
}
8+
return res;
9+
}
10+
};

‎solution/0100-0199/0137.Single Number II/README.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ class Solution:
6262
res = 0
6363
for i in range(32):
6464
if bits[i] % 3 != 0:
65-
res += (1 << i)
65+
res |= (1 << i)
6666
# 如果为负数,先将 0-32 位取反(即 res ^ 0xffffffff ),再将所有位取反(即 ~ )
6767
return res if bits[31] % 3 == 0 else ~(res ^ 0xffffffff)
6868
```
@@ -85,7 +85,7 @@ class Solution {
8585
int res = 0;
8686
for (int i = 0; i < 32; ++i) {
8787
if (bits[i] % 3 == 1) {
88-
res += (1 << i);
88+
res |= (1 << i);
8989
}
9090
}
9191
return res;

‎solution/0100-0199/0137.Single Number II/README_EN.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class Solution:
4444
res = 0
4545
for i in range(32):
4646
if bits[i] % 3 != 0:
47-
res += (1 << i)
47+
res |= (1 << i)
4848
return res if bits[31] % 3 == 0 else ~(res ^ 0xffffffff)
4949
```
5050

@@ -64,7 +64,7 @@ class Solution {
6464
int res = 0;
6565
for (int i = 0; i < 32; ++i) {
6666
if (bits[i] % 3 == 1) {
67-
res += (1 << i);
67+
res |= (1 << i);
6868
}
6969
}
7070
return res;

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /