//参考《快学scala》 集合操作 foldLeft page:180
package alogrithnm
import scala.collection.mutable.Map CombineTwoMap { def main(args: Array[String]): Unit = { val map1 = Map[String, Int]("a" -> 1, "b" -> 1, "c" -> 1)//val map1 = Map[String, Int]("a" -> 1, "b" -> 1, "c" -> 1,"d"->1,"f"->1,"g"->1) val map2 = Map("a" -> 1, "z" -> 1, "c" -> 1, "d" -> 1) val result = combinerTwoMap(map1, map2) for ((k, v) <- result) { println(k + " " + v) } } def combinerTwoMap(a: Map[String, Int], b: Map[String, Int]): Map[String, Int] = { (a /: b) { case (map, (k, v)) => println(k + " " + v) map + (k -> (v + map.getOrElse(k, 0))) case _ => println("not match") null } }}时间复杂度O(N)取决于size较小的那个map长度。
继续阅读与本文标签相同的文章
上一篇 :
递归算法的使用:
下一篇 :
VectorizedReader 和 ORC
-
MySQL大库搭建主从的一种思路
2026-05-25栏目: 教程
-
如何简洁实现游戏中的AI
2026-05-25栏目: 教程
-
如何快速搭建一个简单的塔防小游戏
2026-05-25栏目: 教程
-
一个小小的C++游戏引擎
2026-05-25栏目: 教程
-
你的Redis有类转换异常么
2026-05-25栏目: 教程
