久しぶりにブログ書いてます。
やりたい事がいっぱいあって時間が足りないです。
最近gitにはまっていて、仕事でも無理やり使っているのですが、
ついにgithubにコミットしました。アカウントだけは前から作ってたんですけどね。
といっても大それたプロジェクトを立ち上げたわけでもなく、
書いてみたってレベルのものです。
丁度会社の同僚に面白い問題を教えてもらったので、そのソースを上げました。
その問題は
こちら
楽天の入社問題らしいのですが、いやー
解けなかった!!
普通に答えをググってしましました。
まぁ普通に見つかりました。
こちらのブログに丁寧な説明と一緒に載っていました。
馬鹿正直にforeachで解こうとしてましたが、一般項を考えると簡単に解けるんですね。
アルゴリズムって大事。
で、githubに上げたソースなのですが、全く同じ物を上げても意味がないかと思ったので、
php版を上げました。
それが
こちら
ちゃんと見れるのかな。。?
class F{
private static $cache = array();
public function __construct(){
self::$cache;
}
public function f($num){
if(array_key_exists($num, self::$cache)) return self::$cache[$num];
if($num < 1) return 0;
$res = $this->f($num - 3) + $this->f($num - 2) + $this->f($num - 1);
if($num < 4) $res += 1;
self::$cache[$num] = $res;
return $res;
}
}
$f = new F();
print_r($f->f(100));
最近phpでstaticな配列が作れると知りました。
でも、phpだと
浮動小数点表示になっちゃう!!
pythonも初めて触りましたが、ちゃんと整数で表示してくれるんですね。
素晴らしい。
githubに上げたソースをブログにうまく表示できないかなー