Skip to content

Commit cf74591

Browse files
authored
Create Minimize Product Sum of Two Arrays.java
1 parent 4766ba5 commit cf74591

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
class Solution {
2+
public int minProductSum(int[] nums1, int[] nums2) {
3+
int[] frequencyOne = new int[101];
4+
int[] frequencyTwo = new int[101];
5+
for (int i = 0; i < nums1.length; i++) {
6+
frequencyOne[nums1[i]]++;
7+
frequencyTwo[nums2[i]]++;
8+
}
9+
int idxOne = 0;
10+
int idxTwo = 100;
11+
int sum = 0;
12+
while (idxOne < 101 && idxTwo >= 0) {
13+
while (idxOne < 101 && frequencyOne[idxOne] == 0) {
14+
idxOne++;
15+
}
16+
while (idxTwo >= 0 && frequencyTwo[idxTwo] == 0) {
17+
idxTwo--;
18+
}
19+
if (idxOne == 101 || idxTwo == -1) {
20+
break;
21+
}
22+
int counter = Math.min(frequencyOne[idxOne], frequencyTwo[idxTwo]);
23+
sum += counter * idxOne * idxTwo;
24+
frequencyOne[idxOne] -= counter;
25+
frequencyTwo[idxTwo] -= counter;
26+
}
27+
return sum;
28+
}
29+
}

0 commit comments

Comments
 (0)