2363. 合并相似的物品
题目描述

题解
| class Solution {
public List<List<Integer>> mergeSimilarItems(int[][] items1, int[][] items2) {
List<List<Integer>> result = new ArrayList<>();
//因为是升序 所以要使用TreeMap进行排序
Map<Integer,Integer> map = new TreeMap<>();
for(int[] items:items1){
int value = items[0];
int weight = items[1];
int sum = map.getOrDefault(value,0) + weight;
map.put(value,sum);
}
for(int[] items:items2){
int value = items[0];
int weight = items[1];
int sum = map.getOrDefault(value,0) + weight;
map.put(value,sum);
}
for(int key:map.keySet()){
List<Integer> list = new ArrayList<>();
list.add(key);
list.add(map.get(key));
result.add(list);
}
return result;
}
}
|
代码优化
| class Solution {
public List<List<Integer>> mergeSimilarItems(int[][] items1, int[][] items2) {
List<List<Integer>> result = new ArrayList<>();
Map<Integer,Integer> map = new TreeMap<>();
for(int[] items:items1){
map.put(items[0], map.getOrDefault(items[0],0)+items[1]);
}
for(int[] items:items2){
map.put(items[0],map.getOrDefault(items[0],0)+items[1]);
}
for(Map.Entry<Integer,Integer> entry:map.entrySet()){
List<Integer> list = new ArrayList<>();
list.add(entry.getKey());
list.add(entry.getValue());
result.add(list);
}
return result;
}
}
|
最后更新:
February 28, 2023
创建日期:
February 28, 2023