すごいものを作る人がいた。。。
テトリスを1時間で作れる人
紀平 拓男
DeNAで技術開発
JavaScript?でうごくFlashPlayer? !?
http://www.youtube.com/watch?v=n244sFMOv0A
http://www.youtube.com/watch?v=NWmg0pfFhXA&feature=related
http://www.youtube.com/watch?v=mZL1d4JLMd4&feature=related
・前回のリストと今回のリストで同一箇所を全部ぬきだす
例
前回の値が ABCDHIKLLMNPL
今回の値が ABCEFGHIJKLMNPRU
この2つから
配列
[A,B,C][H,I][L,M,N,P,R,U]を探し出すアルゴリズム
大きなビット配列aBitsを用意する
長さmの部分一致を探す場合、配列Aの[i=0,a.length-m]に対して
ハッシュを毎回つくるのはコストがかかるが、ローテーションハッシュというのを使うと、log nで作ることができる。
配列Bに対してもbBitsを用意し、同様の計算を行う。
aBitsとbBitsのANDをとり、どこかtrueであれば、aBitsとhb[i]を用いてラビン・カーブ検索を行う
http://www.nicovideo.jp/watch/sm8951045