Skip to content

Commit 191432d

Browse files
author
C5141506
committed
Leetcode processing power
1 parent 007e26b commit 191432d

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package java_problem.array;
2+
3+
import kotlin.Pair;
4+
5+
import java.util.*;
6+
7+
public class ProcessingPower {
8+
9+
public static void main(String[] args) {
10+
int[] D = new int[]{5,5,5,5};
11+
int[] C = new int[]{8,3,3,4};
12+
System.out.println(solution(D, C, 6));
13+
}
14+
15+
public static int solution(int D[], int C[], int p) {
16+
int disLen=D.length;
17+
int playersCount=0;
18+
List<Pair<Integer,Integer>> pairList=new ArrayList<Pair<Integer,Integer>>();
19+
for (int i=0;i<disLen;i++){
20+
Pair pair=new Pair(D[i],C[i]);
21+
pairList.add(pair);
22+
}
23+
Collections.sort(pairList, new Comparator<Pair<Integer, Integer>>() {
24+
@Override
25+
public int compare(final Pair<Integer, Integer> p1, final Pair<Integer, Integer> p2) {
26+
if (Objects.equals(p1.getFirst(), p2.getFirst())) {
27+
return p1.getSecond()-p2.getSecond();
28+
}
29+
return p1.getFirst()-p2.getFirst();
30+
}
31+
});
32+
33+
int totalCost=0;
34+
for (Pair<Integer, Integer> pair: pairList){
35+
int temp=totalCost + pair.getSecond();
36+
if (temp<=p){
37+
totalCost=temp;
38+
playersCount++;
39+
}else
40+
break;
41+
42+
}
43+
return playersCount;
44+
}
45+
}

0 commit comments

Comments
 (0)