2012-05-13から1日間の記事一覧

ScalaでLCP

LCPを用いて探索するようにしたいのでその関数をつくる object LCPTest { def main(args: Array[String]) { val str = "orangeorange" val c = lcp(str, 0, 6) // 6 } def lcp(str:String, l:Int, r:Int):Int = { var d:Int = 0 while(str(l+d) == str(r+d))…

scalaのArrayStack

複数の検索結果を返すようにしたいので返すデータ型にArrayStackを使う。 object ArrayStackTest { import scala.collection.mutable.ArrayStack def main(args: Array[String]) { var a = new ArrayStack[Int] a.push(1) a.push(2) for (n <- a) println(n.…

scalaのsuffixArray

とりあえず作ったが、問題点が幾つかある。 class SuffixArray(str:String) { val sortedArray = this.parse(str) import scala.collection.mutable.HashMap def parse(str:String) : Array[HashMap[String, Any]] = { var strArray = new Array[HashMap[Str…

vimのsyntax追加

~/.vim/syntax/hoge.vim を追加の後、 if exists("did_load_filetypes") finish endif augroup filetypedetect au! BufRead,BufNewFile *.hoge setfiletype hoge augroup END ~/.vim/filetype.vim (filetypeはそのままfiletype。共通で使う) という名前で入…

Scalaで文字列配列の二分探索

def search(sortedArray:Array[Any], target:String): Int = { var upper = sortedArray.length - 1 var lower = 0 while (upper >= lower) { var i = lower + (upper - lower) / 2 if (sortedArray(i) == target) return i if (sortedArray(i) < target) lo…