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 696528e

Browse files
committed
feat: add solutions to leetcode problem: No.0561
1 parent 50bf687 commit 696528e

File tree

5 files changed

+78
-40
lines changed

5 files changed

+78
-40
lines changed

‎solution/0500-0599/0561.Array Partition I/README.md‎

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,22 +27,52 @@
2727

2828
<!-- 这里可写通用的实现逻辑 -->
2929

30+
先排序,然后求相邻的两个元素的最小值,得到的总和即为结果。
31+
3032
<!-- tabs:start -->
3133

3234
### **Python3**
3335

3436
<!-- 这里可写当前语言的特殊实现逻辑 -->
3537

3638
```python
37-
39+
class Solution:
40+
def arrayPairSum(self, nums: List[int]) -> int:
41+
return sum(sorted(nums)[::2])
3842
```
3943

4044
### **Java**
4145

4246
<!-- 这里可写当前语言的特殊实现逻辑 -->
4347

4448
```java
49+
class Solution {
50+
public int arrayPairSum(int[] nums) {
51+
Arrays.sort(nums);
52+
int res = 0;
53+
for (int i = 0, n = nums.length; i < n; i += 2) {
54+
res += nums[i];
55+
}
56+
return res;
57+
}
58+
}
59+
```
4560

61+
### **JavaScript**
62+
63+
```js
64+
/**
65+
* @param {number[]} nums
66+
* @return {number}
67+
*/
68+
var arrayPairSum = function (nums) {
69+
nums.sort((a, b) => a - b);
70+
let res = 0;
71+
for (let i = 0, n = nums.length; i < n; i += 2) {
72+
res += nums[i];
73+
}
74+
return res;
75+
};
4676
```
4777

4878
### **...**

‎solution/0500-0599/0561.Array Partition I/README_EN.md‎

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,41 @@ Given an array of <b>2n</b> integers, your task is to group these integers into
4545
### **Python3**
4646

4747
```python
48-
48+
class Solution:
49+
def arrayPairSum(self, nums: List[int]) -> int:
50+
return sum(sorted(nums)[::2])
4951
```
5052

5153
### **Java**
5254

5355
```java
56+
class Solution {
57+
public int arrayPairSum(int[] nums) {
58+
Arrays.sort(nums);
59+
int res = 0;
60+
for (int i = 0, n = nums.length; i < n; i += 2) {
61+
res += nums[i];
62+
}
63+
return res;
64+
}
65+
}
66+
```
5467

68+
### **JavaScript**
69+
70+
```js
71+
/**
72+
* @param {number[]} nums
73+
* @return {number}
74+
*/
75+
var arrayPairSum = function (nums) {
76+
nums.sort((a, b) => a - b);
77+
let res = 0;
78+
for (let i = 0, n = nums.length; i < n; i += 2) {
79+
res += nums[i];
80+
}
81+
return res;
82+
};
5583
```
5684

5785
### **...**
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Solution {
2+
public int arrayPairSum(int[] nums) {
3+
Arrays.sort(nums);
4+
int res = 0;
5+
for (int i = 0, n = nums.length; i < n; i += 2) {
6+
res += nums[i];
7+
}
8+
return res;
9+
}
10+
}

‎solution/0500-0599/0561.Array Partition I/Solution.js‎

Lines changed: 5 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -2,44 +2,11 @@
22
* @param {number[]} nums
33
* @return {number}
44
*/
5-
6-
/**
7-
* Author: Mcnwork2018
8-
*/
9-
105
var arrayPairSum = function (nums) {
11-
letresult=merge_sort(nums);
12-
let sum = 0;
13-
for (let i = 0; i < result.length; i += 2) {
14-
sum += result[i];
6+
nums.sort((a,b)=>a-b);
7+
let res = 0;
8+
for (let i = 0,n=nums.length; i < n; i += 2) {
9+
res += nums[i];
1510
}
16-
return sum;
11+
return res;
1712
};
18-
function merge_sort(A) {
19-
let len = A.length;
20-
if (len === 1) return A;
21-
let mid = ~~(len / 2);
22-
let leftArray = A.slice(0, mid);
23-
let rightArray = A.slice(mid, len);
24-
return merge(merge_sort(leftArray), merge_sort(rightArray));
25-
}
26-
function merge(left, right) {
27-
let i = 0,
28-
j = 0,
29-
k = 0,
30-
tmp = [];
31-
while (i < left.length && j < right.length) {
32-
if (left[i] <= right[j]) {
33-
tmp[k++] = left[i++];
34-
} else {
35-
tmp[k++] = right[j++];
36-
}
37-
}
38-
while (i < left.length) {
39-
tmp[k++] = left[i++];
40-
}
41-
while (j < right.length) {
42-
tmp[k++] = right[j++];
43-
}
44-
return tmp;
45-
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
class Solution:
2+
def arrayPairSum(self, nums: List[int]) -> int:
3+
return sum(sorted(nums)[::2])

0 commit comments

Comments
(0)

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