Skip to content

Commit 358088e

Browse files
committed
feat: add solutions to lc problem: No.0905
No.0905.Sort Array By Parity
1 parent 703e269 commit 358088e

File tree

7 files changed

+158
-108
lines changed

7 files changed

+158
-108
lines changed

solution/0900-0999/0905.Sort Array By Parity/README.md

Lines changed: 56 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,15 @@
4242

4343
```python
4444
class Solution:
45-
def sortArrayByParity(self, A: List[int]) -> List[int]:
46-
i, j = 0, len(A) - 1
45+
def sortArrayByParity(self, nums: List[int]) -> List[int]:
46+
i, j = 0, len(nums) - 1
4747
while i < j:
48-
if (A[i] & 1) > (A[j] & 1):
49-
A[i], A[j] = A[j], A[i]
50-
if A[i] & 1 == 0:
51-
i += 1
52-
if A[j] & 1 == 1:
48+
if nums[i] & 1:
49+
nums[i], nums[j] = nums[j], nums[i]
5350
j -= 1
54-
return A
51+
else:
52+
i += 1
53+
return nums
5554
```
5655

5756
### **Java**
@@ -60,22 +59,18 @@ class Solution:
6059

6160
```java
6261
class Solution {
63-
public int[] sortArrayByParity(int[] A) {
64-
int i = 0, j = A.length - 1;
65-
while (i < j) {
66-
if ((A[i] & 1) > (A[j] & 1)) {
67-
int t = A[i];
68-
A[i] = A[j];
69-
A[j] = t;
70-
}
71-
if ((A[i] & 1) == 0) {
72-
++i;
73-
}
74-
if ((A[j] & 1) == 1) {
62+
public int[] sortArrayByParity(int[] nums) {
63+
for (int i = 0, j = nums.length - 1; i < j;) {
64+
if (nums[i] % 2 == 1) {
65+
int t = nums[i];
66+
nums[i] = nums[j];
67+
nums[j] = t;
7568
--j;
69+
} else {
70+
++i;
7671
}
7772
}
78-
return A;
73+
return nums;
7974
}
8075
}
8176
```
@@ -84,26 +79,19 @@ class Solution {
8479

8580
```js
8681
/**
87-
* @param {number[]} A
82+
* @param {number[]} nums
8883
* @return {number[]}
8984
*/
90-
var sortArrayByParity = function (A) {
91-
let i = 0;
92-
let j = A.length - 1;
93-
while (i < j) {
94-
if ((A[i] & 1) > (A[j] & 1)) {
95-
const t = A[i];
96-
A[i] = A[j];
97-
A[j] = t;
98-
}
99-
if ((A[i] & 1) == 0) {
100-
++i;
101-
}
102-
if ((A[j] & 1) == 1) {
85+
var sortArrayByParity = function (nums) {
86+
for (let i = 0, j = nums.length - 1; i < j; ) {
87+
if (nums[i] & 1) {
88+
[nums[i], nums[j]] = [nums[j], nums[i]];
10389
--j;
90+
} else {
91+
++i;
10492
}
10593
}
106-
return A;
94+
return nums;
10795
};
10896
```
10997

@@ -127,6 +115,38 @@ impl Solution {
127115
}
128116
```
129117

118+
### **C++**
119+
120+
```cpp
121+
class Solution {
122+
public:
123+
vector<int> sortArrayByParity(vector<int>& nums) {
124+
for (int i = 0, j = nums.size() - 1; i < j;)
125+
{
126+
if (nums[i] & 1) swap(nums[i], nums[j--]);
127+
else ++i;
128+
}
129+
return nums;
130+
}
131+
};
132+
```
133+
134+
### **Go**
135+
136+
```go
137+
func sortArrayByParity(nums []int) []int {
138+
for i, j := 0, len(nums)-1; i < j; {
139+
if nums[i]%2 == 1 {
140+
nums[i], nums[j] = nums[j], nums[i]
141+
j--
142+
} else {
143+
i++
144+
}
145+
}
146+
return nums
147+
}
148+
```
149+
130150
### **...**
131151

132152
```

solution/0900-0999/0905.Sort Array By Parity/README_EN.md

Lines changed: 56 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -40,38 +40,33 @@
4040

4141
```python
4242
class Solution:
43-
def sortArrayByParity(self, A: List[int]) -> List[int]:
44-
i, j = 0, len(A) - 1
43+
def sortArrayByParity(self, nums: List[int]) -> List[int]:
44+
i, j = 0, len(nums) - 1
4545
while i < j:
46-
if (A[i] & 1) > (A[j] & 1):
47-
A[i], A[j] = A[j], A[i]
48-
if A[i] & 1 == 0:
49-
i += 1
50-
if A[j] & 1 == 1:
46+
if nums[i] & 1:
47+
nums[i], nums[j] = nums[j], nums[i]
5148
j -= 1
52-
return A
49+
else:
50+
i += 1
51+
return nums
5352
```
5453

5554
### **Java**
5655

5756
```java
5857
class Solution {
59-
public int[] sortArrayByParity(int[] A) {
60-
int i = 0, j = A.length - 1;
61-
while (i < j) {
62-
if ((A[i] & 1) > (A[j] & 1)) {
63-
int t = A[i];
64-
A[i] = A[j];
65-
A[j] = t;
66-
}
67-
if ((A[i] & 1) == 0) {
68-
++i;
69-
}
70-
if ((A[j] & 1) == 1) {
58+
public int[] sortArrayByParity(int[] nums) {
59+
for (int i = 0, j = nums.length - 1; i < j;) {
60+
if (nums[i] % 2 == 1) {
61+
int t = nums[i];
62+
nums[i] = nums[j];
63+
nums[j] = t;
7164
--j;
65+
} else {
66+
++i;
7267
}
7368
}
74-
return A;
69+
return nums;
7570
}
7671
}
7772
```
@@ -80,26 +75,19 @@ class Solution {
8075

8176
```js
8277
/**
83-
* @param {number[]} A
78+
* @param {number[]} nums
8479
* @return {number[]}
8580
*/
86-
var sortArrayByParity = function (A) {
87-
let i = 0;
88-
let j = A.length - 1;
89-
while (i < j) {
90-
if ((A[i] & 1) > (A[j] & 1)) {
91-
const t = A[i];
92-
A[i] = A[j];
93-
A[j] = t;
94-
}
95-
if ((A[i] & 1) == 0) {
96-
++i;
97-
}
98-
if ((A[j] & 1) == 1) {
81+
var sortArrayByParity = function (nums) {
82+
for (let i = 0, j = nums.length - 1; i < j; ) {
83+
if (nums[i] & 1) {
84+
[nums[i], nums[j]] = [nums[j], nums[i]];
9985
--j;
86+
} else {
87+
++i;
10088
}
10189
}
102-
return A;
90+
return nums;
10391
};
10492
```
10593

@@ -123,6 +111,38 @@ impl Solution {
123111
}
124112
```
125113

114+
### **C++**
115+
116+
```cpp
117+
class Solution {
118+
public:
119+
vector<int> sortArrayByParity(vector<int>& nums) {
120+
for (int i = 0, j = nums.size() - 1; i < j;)
121+
{
122+
if (nums[i] & 1) swap(nums[i], nums[j--]);
123+
else ++i;
124+
}
125+
return nums;
126+
}
127+
};
128+
```
129+
130+
### **Go**
131+
132+
```go
133+
func sortArrayByParity(nums []int) []int {
134+
for i, j := 0, len(nums)-1; i < j; {
135+
if nums[i]%2 == 1 {
136+
nums[i], nums[j] = nums[j], nums[i]
137+
j--
138+
} else {
139+
i++
140+
}
141+
}
142+
return nums
143+
}
144+
```
145+
126146
### **...**
127147

128148
```
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
class Solution {
2+
public:
3+
vector<int> sortArrayByParity(vector<int>& nums) {
4+
for (int i = 0, j = nums.size() - 1; i < j;)
5+
{
6+
if (nums[i] & 1) swap(nums[i], nums[j--]);
7+
else ++i;
8+
}
9+
return nums;
10+
}
11+
};
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
func sortArrayByParity(nums []int) []int {
2+
for i, j := 0, len(nums)-1; i < j; {
3+
if nums[i]%2 == 1 {
4+
nums[i], nums[j] = nums[j], nums[i]
5+
j--
6+
} else {
7+
i++
8+
}
9+
}
10+
return nums
11+
}
Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
11
class Solution {
2-
public int[] sortArrayByParity(int[] A) {
3-
int i = 0, j = A.length - 1;
4-
while (i < j) {
5-
if ((A[i] & 1) > (A[j] & 1)) {
6-
int t = A[i];
7-
A[i] = A[j];
8-
A[j] = t;
9-
}
10-
if ((A[i] & 1) == 0) {
11-
++i;
12-
}
13-
if ((A[j] & 1) == 1) {
2+
public int[] sortArrayByParity(int[] nums) {
3+
for (int i = 0, j = nums.length - 1; i < j;) {
4+
if (nums[i] % 2 == 1) {
5+
int t = nums[i];
6+
nums[i] = nums[j];
7+
nums[j] = t;
148
--j;
9+
} else {
10+
++i;
1511
}
1612
}
17-
return A;
13+
return nums;
1814
}
1915
}
Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,15 @@
11
/**
2-
* @param {number[]} A
2+
* @param {number[]} nums
33
* @return {number[]}
44
*/
5-
var sortArrayByParity = function (A) {
6-
let i = 0;
7-
let j = A.length - 1;
8-
while (i < j) {
9-
if ((A[i] & 1) > (A[j] & 1)) {
10-
const t = A[i];
11-
A[i] = A[j];
12-
A[j] = t;
13-
}
14-
if ((A[i] & 1) == 0) {
15-
++i;
16-
}
17-
if ((A[j] & 1) == 1) {
5+
var sortArrayByParity = function (nums) {
6+
for (let i = 0, j = nums.length - 1; i < j; ) {
7+
if (nums[i] & 1) {
8+
[nums[i], nums[j]] = [nums[j], nums[i]];
189
--j;
10+
} else {
11+
++i;
1912
}
2013
}
21-
return A;
14+
return nums;
2215
};
Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
class Solution:
2-
def sortArrayByParity(self, A: List[int]) -> List[int]:
3-
i, j = 0, len(A) - 1
2+
def sortArrayByParity(self, nums: List[int]) -> List[int]:
3+
i, j = 0, len(nums) - 1
44
while i < j:
5-
if (A[i] & 1) > (A[j] & 1):
6-
A[i], A[j] = A[j], A[i]
7-
if A[i] & 1 == 0:
8-
i += 1
9-
if A[j] & 1 == 1:
5+
if nums[i] & 1:
6+
nums[i], nums[j] = nums[j], nums[i]
107
j -= 1
11-
return A
8+
else:
9+
i += 1
10+
return nums

0 commit comments

Comments
 (0)