2011-07-01から1ヶ月間の記事一覧

『サマーインターン2011問題』 に挑戦

サマーインターン2011問題 | Preferred Research 思いついた方法が 解かれてブックマークされている方 と違ったので。半分より多く現れるなら文字のバイト位置をカウントして半分より大きいバイト位置だけ拾った文字を出力すればよいのではないかと思った。 …

0〜1000に含まれる0をカウントする

0〜1000に含まれる0をカウントする という問題。 参考 練習 - krystal: プログラミング超初心者(文系) - Rubyist - オリジナル 0〜1000に含まれる0をカウントする - http://rubikitch.com/に移転しました - Ruby で '0' in 0~1000 - ellaneous - golf で 他…

型キャスト

最初に Groovy 1.8.1 がリリースされました。 前回 Grape について書いたばかりですがデフォルトでローカルの Maven リポジトリが参照されるようになりました。 Maven リポジトリを参照する設定を追加しただけならもう設定ファイルは削除してもいいです。 2…

Grape

groovysh でライブラリを参照したかったので Grape について調べた。(Groovy 1.8.0 時点) 参考 http://groovy.codehaus.org/Grape http://groovy.codehaus.org/Japanese+Grape groovy.grape.Grape.grab メソッド スクリプトで使用する @Grab の代わりに groo…

Levenshtein distance

diffの動作原理を知る〜どのようにして差分を導き出すのか を読んでからずいぶん時間を経たけれども Diff のアルゴリズムを理解できた*1。 理解するためにいろいろ検索したが Diff algorithm の解説が自分にはいちばん分かりやすかった*2。このエントリがな…

Longest common subsequence

Longest common subsequence - Rosetta Code を Groovy で実装してみる。 DP は Java 版を再帰は Haskell 版を参考にした。 Dynamic programming def lcs1(xs, ys) { int N = xs.size() int M = ys.size() int[][] dp = new int[N+1][M+1] for (i in 0..

java.lang.Double

Java の double の非数や無限大の振る舞いについてのメモ。 比較 Groovy のバグ報告で Doublle.NaN == Double.NaN は false と評価されるべきと上がっていた。 http://jira.codehaus.org/browse/GROOVY-4906 Java 言語仕様ではそうなっているらしいので確認…