Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
You are given two 2D integer arrays, items1
and items2
, representing two sets of items. Each array items
has the following properties:
items[i] = [valuei, weighti]
where valuei
represents the value and weighti
represents the weight of the ith
item.items
is unique.Return a 2D integer array ret
where ret[i] = [valuei, weighti]
, with weighti
being the sum of weights of all items with value valuei
.
Note: ret
should be returned in ascending order by value.
Example 1:
Input: items1 = [[1,1],[4,5],[3,8]], items2 = [[3,1],[1,5]]
Output: [[1,6],[3,9],[4,5]]
Explanation:
The item with value = 1 occurs in items1 with weight = 1 and in items2 with weight = 5, total weight = 1 + 5 = 6.
The item with value = 3 occurs in items1 with weight = 8 and in items2 with weight = 1, total weight = 8 + 1 = 9.
The item with value = 4 occurs in items1 with weight = 5, total weight = 5.
Therefore, we return [[1,6],[3,9],[4,5]].
Example 2:
Input: items1 = [[1,1],[3,2],[2,3]], items2 = [[2,1],[3,2],[1,3]]
Output: [[1,4],[2,4],[3,4]]
Explanation:
The item with value = 1 occurs in items1 with weight = 1 and in items2 with weight = 3, total weight = 1 + 3 = 4.
The item with value = 2 occurs in items1 with weight = 3 and in items2 with weight = 1, total weight = 3 + 1 = 4.
The item with value = 3 occurs in items1 with weight = 2 and in items2 with weight = 2, total weight = 2 + 2 = 4.
Therefore, we return [[1,4],[2,4],[3,4]].
Example 3:
Input: items1 = [[1,3],[2,2]], items2 = [[7,1],[2,2],[1,4]]
Output: [[1,7],[2,4],[7,1]]
Explanation:
The item with value = 1 occurs in items1 with weight = 3 and in items2 with weight = 4, total weight = 3 + 4 = 7.
The item with value = 2 occurs in items1 with weight = 2 and in items2 with weight = 2, total weight = 2 + 2 = 4.
The item with value = 7 occurs in items2 with weight = 1, total weight = 1.
Therefore, we return [[1,7],[2,4],[7,1]].
Constraints:
1 <= items1.length, items2.length <= 1000
items1[i].length == items2[i].length == 2
1 <= valuei, weighti <= 1000
valuei
in items1
is unique.valuei
in items2
is unique.vector<vector<int>> mergeSimilarItems(vector<vector<int>>& items1, vector<vector<int>>& items2)
{
map<int,int> m;
for(int i=0;i<items1.size();i++)
{
m[items1[i][0]]=items1[i][1];
}
for(int i=0;i<items2.size();i++)
{
if(m.find(items2[i][0])!=m.end())
{
m[items2[i][0]]+=items2[i][1];
}
else
{
m[items2[i][0]]=items2[i][1];
}
}
vector<vector<int>> ans;
for(auto it : m)
{
ans.push_back({it.first,it.second});
}
return ans;
}
```
public List<List<Integer>> mergeSimilarItems(int[][] items1, int[][] items2) {
TreeMap<Integer, Integer> cnt = new TreeMap<>();
for (int[] it : items1) {
cnt.merge(it[0], it[1], Integer::sum);
}
for (int[] it : items2) {
cnt.merge(it[0], it[1], Integer::sum);
}
List<List<Integer>> ans = new ArrayList<>();
for (var e : cnt.entrySet()) {
ans.add(Arrays.asList(e.getKey(), e.getValue()));
}
return ans;
}
class Solution:
from collections import defaultdict
def mergeSimilarItems(self, items1: List[List[int]], items2: List[List[int]]) -> List[List[int]]:
# The idea here was to create a hashmap of value to weight mapping
# iterate through items1 and populate the hashmap
value_weight = defaultdict(int)
for i, j in items1:
value_weight[i] = j
# compare values with hashmap and update the weights
for i, j in items2:
value_weight[i] += j
# return the hashmap in list format
ans = []
for value in sorted(value_weight.keys()):
ans.append([value, value_weight[value]])
return ans
In our experience, we suggest you solve this Merge Similar Items LeetCode Solution and gain some new skills from Professionals completely free and we assure you will be worth it.
If you are stuck anywhere between any coding problem, just visit Queslers to get the Merge Similar Items LeetCode Solution
I hope this Merge Similar Items LeetCode Solution would be useful for you to learn something new from this problem. If it helped you then don’t forget to bookmark our site for more Coding Solutions.
This Problem is intended for audiences of all experiences who are interested in learning about Data Science in a business context; there are no prerequisites.
Keep Learning!
More Coding Solutions >>