サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
コーヒー沼
zenn.dev/hyzsa
はじめに 配列に特定の要素が含まれているかを判定したいとき、よくArray#include?を利用すると思いますが、その際に一工夫(to_set)してあげるだけで、より速く判定することができます。 速くなる理由 Array#include?は検索アルゴリズムの線型探索にあたり、データ量(=要素数)が多くなるほど処理に時間がかかります。 一方でSet#include?は検索アルゴリズムのハッシュ法にあたり、処理時間はデータ量(=要素数)に関係なく一定になるので、to_set した方が高速に判定することができるのです。 Array#include? 配列の先頭から順番に、引数で渡された値と等しいかをチェックしていき、等しければ true を返します。 [1, 2, 3, 4, 5] # このような配列から4が含まれてるかを判定したい時 # ・先頭の1を見る。 # ・1は4ではないので、次の要素
このページを最初にブックマークしてみませんか?
『zenn.dev』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く