合并相似的物品
//
给你两个二维整数数组 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的方法使用

浙公网安备 33010602011771号