304 North Cardinal St.
Dorchester Center, MA 02124

# Merge Similar Items LeetCode Solution

## Problem – Merge Similar Items LeetCode Solution

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.
• The value of each item in `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`
• Each `valuei` in `items1` is unique.
• Each `valuei` in `items2` is unique.

### Merge Similar Items LeetCode Solution in C++

``````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]]=items1[i];
}
for(int i=0;i<items2.size();i++)
{
if(m.find(items2[i])!=m.end())
{
m[items2[i]]+=items2[i];
}
else
{
m[items2[i]]=items2[i];
}
}
vector<vector<int>> ans;
for(auto it : m)
{
ans.push_back({it.first,it.second});
}
return ans;

}
```
``````

### Merge Similar Items LeetCode Solution in Java

``````    public List<List<Integer>> mergeSimilarItems(int[][] items1, int[][] items2) {
TreeMap<Integer, Integer> cnt = new TreeMap<>();
for (int[] it : items1) {
cnt.merge(it, it, Integer::sum);
}
for (int[] it : items2) {
cnt.merge(it, it, Integer::sum);
}
List<List<Integer>> ans = new ArrayList<>();
for (var e : cnt.entrySet()) {
}
return ans;
}
``````

### Merge Similar Items LeetCode Solution in Python

``````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
``````
##### Merge Similar Items LeetCode Solution Review:

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

Find on LeetCode

##### Conclusion:

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

LeetCode Solutions

Hacker Rank Solutions

CodeChef Solutions