//
给你两个二维整数数组 items1
和 items2
,表示两个物品集合。每个数组 items
有以下特质:
items[i] = [valuei, weighti]
其中valuei
表示第i
件物品的 价值 ,weighti
表示第i
件物品的 重量 。items
中每件物品的价值都是 唯一的 。
请你返回一个二维数组 ret
,其中 ret[i] = [valuei, weighti]
, weighti
是所有价值为 valuei
物品的 重量之和 。
注意:ret
应该按价值 升序 排序后返回。
//class Solution { public List<List<Integer>> mergeSimilarItems(int[][] items1, int[][] items2) { TreeMap<Integer, Integer> map = new TreeMap<>(); Arrays.stream(items1).forEach(item -> map.put(item[0], item[1])); Arrays.stream(items2).forEach(item -> map.put(item[0], map.getOrDefault(item[0], 0) + item[1])); return map.entrySet().stream().map(entry -> Arrays.asList(entry.getKey(), entry.getValue())).collect(Collectors.toList()); } }
//Map的方法使用
标签:map,stream,合并,valuei,item,weighti,相似,物品,ret From: https://www.cnblogs.com/zzzzzzx/p/17162706.html