注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

阿弥陀佛

街树飘影未见尘 潭月潜水了无声 般若观照心空静...

 
 
 

日志

 
 
关于我

一直从事气象预报、服务建模实践应用。 注重气象物理场、实况场、地理信息、本体知识库、分布式气象内容管理系统建立。 对Barnes客观分析, 小波,计算神经网络、信任传播、贝叶斯推理、专家系统、网络本体语言有一定体会。 一直使用Java、Delphi、Prolog、SQL编程。

网易考拉推荐

scala 种子填充算法测试  

2014-08-10 09:47:05|  分类: Scala |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
package wekapp
import scala.collection.immutable.SortedMap
object STest {
  val nRow, nCol = 11
  val mat01 = ddd
  def sqareInt={
    val m = Array.ofDim[Int](nRow, nCol)
    for (i <- 0 to nRow - 1) {
      m(i)(0) = 1
      m(i)(nCol - 1) = 1
    }
    for (j <- 0 to nCol - 1) {
      m(0)(j) = 1
      m(nRow - 1)(j) = 1
    }
    m
  }
  def ddd={
    val m = Array(
        Array(0,0,0,0,0,1,0,0,0,0,0),
        Array(0,0,0,0,1,0,1,0,0,0,0),
        Array(0,0,0,1,0,0,0,1,0,0,0),
        Array(0,0,1,0,0,0,0,0,1,0,0),
        Array(0,1,0,0,0,0,0,0,0,1,0),
        Array(1,0,0,0,0,0,0,0,0,0,1),
        Array(0,1,0,0,0,0,0,0,0,1,0),
        Array(0,0,1,0,0,0,0,0,1,0,0),
        Array(0,0,0,1,0,0,0,1,0,0,0),
        Array(0,0,0,0,1,0,1,0,0,0,0),
        Array(0,0,0,0,0,1,0,0,0,0,0)
        )
    m
  }
  val neighbors = List((-1, 0), (1, 0), (0, -1), (0, 1))
  import scala.annotation.tailrec
  @tailrec
  def floodFill(pixels: Set[(Int, Int)]) {
    if (pixels.size > 0) {
      floodFill(pixels.foldLeft(Set[(Int, Int)]()) {
        (set, point) =>
          val (x, y) = point
          mat01(y)(x) = 1
          set ++ neighbors.map {
            case (px, py) => (px + x, py + y)
          }.filter {
            case (px, py) => mat01(py)(px) == 0
          }
      })
    }
  }
  def prn {
    println("================================")
    for (i <- 0 to nRow - 1) {
      for (j <- 0 to nCol - 1) {
        print(mat01(i)(j))
      }
      println
    }
  }
  def main(args: Array[String]) {
    prn
    val p0 = ((nRow / 2).toInt, (nCol / 2).toInt)
    floodFill(Set(p0))
    prn
  }
}
================================================================
================================
00000100000
00001010000
00010001000
00100000100
01000000010
10000000001
01000000010
00100000100
00010001000
00001010000
00000100000
================================
00000100000
00001110000
00011111000
00111111100
01111111110
11111111111
01111111110
00111111100
00011111000
00001110000
00000100000
  评论这张
 
阅读(309)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017