FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
leetcode/problems/src/array/ArrayPartitionI.java at master · KindleBooks66/leetcode · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
KindleBooks66
/
leetcode
Public
forked from
gouthampradhan/leetcode
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
leetcode
/
problems
/
src
/
array
/
ArrayPartitionI.java
Copy path
More file actions
More file actions
Latest commit
History
History
History
33 lines (30 loc) · 1.07 KB
Breadcrumbs
leetcode
/
problems
/
src
/
array
/
ArrayPartitionI.java
Copy path
File metadata and controls
33 lines (30 loc) · 1.07 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package
array
;
import
java
.
util
.*;
/**
* Created by gouthamvidyapradhan on 14/08/2019 Given an array of 2n integers, your task is to group
* these integers into n pairs of integer, say (a1, b1), (a2, b2), ..., (an, bn) which makes sum of
* min(ai, bi) for all i from 1 to n as large as possible.
*
* <p>Example 1: Input: [1,4,3,2]
*
* <p>Output: 4 Explanation: n is 2, and the maximum sum of pairs is 4 = min(1, 2) + min(3, 4).
* Note: n is a positive integer, which is in the range of [1, 10000]. All the integers in the array
* will be in the range of [-10000, 10000].
*
* <p>Solution: O(n log n) General idea is to pair the smallest with the next smallest value inorder
* to get the max sum of minimum.
*/
public
class
ArrayPartitionI
{
public
static
void
main
(
String
[]
args
) {
int
[]
A
= {
1
,
2
,
3
,
4
};
System
.
out
.
println
(
new
ArrayPartitionI
().
arrayPairSum
(
A
));
}
public
int
arrayPairSum
(
int
[]
nums
) {
Arrays
.
sort
(
nums
);
int
sum
=
0
;
for
(
int
i
=
1
;
i
<
nums
.
length
;
i
+=
2
) {
sum
+=
Math
.
min
(
nums
[
i
-
1
],
nums
[
i
]);
}
return
sum
;
}
}
Back
|
FazBrowse Home
|
New Git URL