http://qiita.com/Nabetani/items/c206fbc645c255cb7de6
http://nabetani.sakura.ne.jp/hena/ord11arithseq/
前回の続き。
今回は複数の等差数列から、最も長い列になるものを取得します。
最初は/(1.{0,})\1{3,}1/とかそんなかんじでガガッと一発取得してやろう、とか考えていたのですが、後方参照でサブパターンをマッチさせる方法がわからず挫折。
結局一重ではありますがループになってしまいました。
残念。
得意な人ならきっとできると思うので教えてください。
かかった時間は2時間くらい。
そのうち1.5時間は正規表現を作っては消していたところ。
つうかbase_convert()便利だな。
「オフラインリアルタイムどう書く」の一覧
http://nabetani.sakura.ne.jp/hena/ord11arithseq/
前回の続き。
今回は複数の等差数列から、最も長い列になるものを取得します。
= strlen($input)){ break; } } return $count; } } // テスト $test = [ [ '12345abcz', '5' ], /* 省略 */ ]; $sequence = new SEQUENCE(); foreach($test as $key=>$data){ $answer = $sequence->get($data[0]); if($answer !== (int)$data[1]){ print('えらー'); } }順番にくるくるやっていけばいいだけなのですが、何故か正規表現に思い至ってしまったのでやってみた。
最初は/(1.{0,})\1{3,}1/とかそんなかんじでガガッと一発取得してやろう、とか考えていたのですが、後方参照でサブパターンをマッチさせる方法がわからず挫折。
結局一重ではありますがループになってしまいました。
残念。
得意な人ならきっとできると思うので教えてください。
かかった時間は2時間くらい。
そのうち1.5時間は正規表現を作っては消していたところ。
つうかbase_convert()便利だな。
「オフラインリアルタイムどう書く」の一覧
PR