2011-01-01から1年間の記事一覧

AmazonLinuxにnode.jsをインストールしたときのメモ [15:00 追記]

AmazonEC2のAmazon Linuxにnode.jsをインストールしたときのメモです。参考:http://www.embracingthecloud.com/2010/12/05/InstallingNodejsOnAmazonEC2.aspx 必要なモジュールをインストールする $ sudo yum install -y gcc-c++ $ sudo yum install -y mak…

tapメソッドが便利すぎる件

Object#tapが便利すぎるのでメモ。 メソッドチェインの途中経過をprint Rubyで理解するMapReduceで書いたコードも、わざわざ分解することなく途中経過をprintすることができます。 p input_data.map{|d| d[/GET (.+?) /, 1]}.tap{|d| p d}. group_by{|d| d}.…

Rubyで理解するMapReduce

MapReduceの勉強と練習をかねてRubyでそれらしいことを書いてみます。 間違ったことをしてるかもしれないので、詳しい人がツッコミを入れてくれると嬉しいです。ruby 1.8.7で動作を確認しています。 テーマ Apacheのログっぽいデータを分析して、それぞれの…

sdbtoolをFirefox4にインストールする #jawsug

AmazonSimpleDBを操作するfirefoxプラグインのsdbtoolを、Firefox4にインストールする方法です。公式にサポートされた方法じゃないから動かない機能とかあるかも。とりあえず、今使ってる分には動いてるので書いておきます。以下の手順で操作します。 ソース…

RubyでGmailに届いたメールのメールアドレスを取得する

id:tottokugさんが地震情報をメールで配信するサービスを始めました。 http://d.hatena.ne.jp/tottokug/20110313/1300041440ただ、以下の欠点があるようです。 ーメールアドレスの登録は手での登録となってしまっていますので、 まずはメールいただいた方だ…

動的計画法でフィボナッチ数を求める

動的計画法でフィボナッチ数を求めるコードをRubyで書きました。 以下のプログラムの計算量はO(n)です。 n = 100 puts (1..n).inject([1,0]){|a,b| [a[1], a[0]+a[1]] }.last # => 354224848179261915075

階乗を高速に求める

なにやらid:nise_nabeさんが階乗を高速に求めるプログラムを掘り出していたので、Rubyで書きなおしてみました。何をやってるのかさっぱりなので、ほとんど写経です。 class Integer def factorial return 1 if self < 2 @n, p, r = 1, 1, 1 log = self.log2n…

SRM 497 DIV2

金曜日にあったSRM。 250 Filtering 問題:http://www.topcoder.com/stat?c=problem_statement&pm=11323&rd=14426 public class Filtering { public int[] designFilter(int[] sizes, String outcome) { int min = 100; int max = 1; for(int i=0; i

SRM 496 DIV2

250 AnagramFree 問題読まずにテストケースから判断しました。 なんかあってたのでよし。 import java.util.Set; import java.util.HashSet; import java.util.Arrays; public class AnagramFree { public int getMaximumSubset(String[] s) { Set<String> subsets =</string>…

SRM 494 Div2

250 InterestingParty 与えられた単語の集合から一番多く出現した単語の出現回数を求めよ。と理解。 firstとsecondがありますが、どちらも同じように扱ってよさそうでした。 なんか読み返してみるといろいろ直したくなりますね。 まあSystem Testは通過した…

二部グラフ判定問題をJavaで

プログラミングコンテストチャレンジブックのP93から書いてある「二部グラフ判定」をJavaで書いてみました。問題はこちら ■ 2部グラフ判定問題 頂点数nの無向グラフが与えられます。隣接している頂点同士が違う色になるように、頂点に色を塗っていきます。 2…

クラスカル法をJavaでリッチに書いたら遅かった。

id:nise_nabeさんがクラスカル法のコードを書いてたので、僕も書いて見ました。 「SRM492 時をかけるセールスマン」が解けたので多分合ってると思います。長いのでideoneに貼ってます。 http://ideone.com/3vtvW実行速度はid:nise_nabeさんのやつの2倍弱くら…