Advertisement
Guest User

Untitled

a guest
Apr 4th, 2015
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.80 KB | None | 0 0
  1.     val seenVertices = mutable.HashMap[Int, Int]()
  2.  
  3.     var bitMasks = for (i <- 0 to 24; j <- 0 to 24) yield (1 << i | 1 << j)
  4.     bitMasks = 0 +: bitMasks
  5.  
  6.     var id = 0
  7.     val uf = UnionFind(200000)
  8.     val bufferedSource = Source.fromFile("/home/asznajder/Coursera/clustering_big.txt")
  9.     for (line <- bufferedSource.getLines()) {
  10.       if (!first) {
  11.         val code = Integer.parseInt(line.replaceAll(" ", ""), 2)
  12.         for (mask <- bitMasks) {
  13.           val modifiedCode = code ^ mask
  14.           seenVertices.get(modifiedCode) match {
  15.             case Some(seen_id) => uf.union(id, seen_id)
  16.             case None => {
  17.               seenVertices(code) = id
  18.             }
  19.           }
  20.         }
  21.         id += 1
  22.       } else {
  23.         first = false
  24.       }
  25.     }
  26.     bufferedSource.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement