検索結果
先頭5件
-
Range
# bsearch -> Enumerator (26188.0) -
ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二 分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を 返します。
....ary.size).bsearch {|i| ary[i] >= 4 } # => 1
(0...ary.size).bsearch {|i| ary[i] >= 6 } # => 2
(0...ary.size).bsearch {|i| ary[i] >= 8 } # => 3
(0...ary.size).bsearch {|i| ary[i] >= 100 } # => nil
(0.0...Float::INFINITY).bsearch {|x| Math.log(x) >= 0 } # => 1.0
//}
find-any モードは bsearch(3)......素を返すか、nil を返します。
//emlist[例][ruby]{
ary = [0, 100, 100, 100, 200]
(0..4).bsearch {|i| 100 - ary[i] } # => 1, 2 or 3
(0..4).bsearch {|i| 300 - ary[i] } # => nil
(0..4).bsearch {|i| 50 - ary[i] } # => nil
//}
上記の 2 つのモードを混在して使用しないでく......ばれるかは
未規定です。
ブロックが与えられなかった場合は、 Enumerator のインスタンスを返します。
@raise TypeError ブロックの評価結果が true、false、nil、数値以外であっ
た場合に発生します。
@see Array#bsearch... -
Range
# bsearch {|obj| . . . } -> object | nil (26188.0) -
ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二 分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を 返します。
....ary.size).bsearch {|i| ary[i] >= 4 } # => 1
(0...ary.size).bsearch {|i| ary[i] >= 6 } # => 2
(0...ary.size).bsearch {|i| ary[i] >= 8 } # => 3
(0...ary.size).bsearch {|i| ary[i] >= 100 } # => nil
(0.0...Float::INFINITY).bsearch {|x| Math.log(x) >= 0 } # => 1.0
//}
find-any モードは bsearch(3)......素を返すか、nil を返します。
//emlist[例][ruby]{
ary = [0, 100, 100, 100, 200]
(0..4).bsearch {|i| 100 - ary[i] } # => 1, 2 or 3
(0..4).bsearch {|i| 300 - ary[i] } # => nil
(0..4).bsearch {|i| 50 - ary[i] } # => nil
//}
上記の 2 つのモードを混在して使用しないでく......ばれるかは
未規定です。
ブロックが与えられなかった場合は、 Enumerator のインスタンスを返します。
@raise TypeError ブロックの評価結果が true、false、nil、数値以外であっ
た場合に発生します。
@see Array#bsearch... -
Array
# bsearch -> Enumerator (26164.0) -
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値を二分探 索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返し ます。self はあらかじめソートしておく必要があります。
...します。
//emlist[例][ruby]{
ary = [0, 4, 7, 10, 12]
ary.bsearch {|x| x >= 4 } # => 4
ary.bsearch {|x| x >= 6 } # => 7
ary.bsearch {|x| x >= -1 } # => 0
ary.bsearch {|x| x >= 100 } # => nil
//}
find-any モードは bsearch(3) のように動作します。ブロックは真偽値
では......よりも大きい(j <= k < self.size)場合: 負の数を返す
ブロックの評価結果が 0 になるいずれかの要素を返すか、nil を返します。
//emlist[例][ruby]{
ary = [0, 4, 7, 10, 12]
# 4 <= v < 8 になる要素を検索
ary.bsearch {|x| 1 - x / 4 } # => 4 or 7
# 8......<= v < 10 になる要素を検索
ary.bsearch {|x| 4 - x / 2 } # => nil
//}
上記の 2 つのモードを混在して使用しないでください(ブロックの評価結果は
常に true/false、数値のいずれかを一貫して返すようにしてください)。
また、二分探索の... -
Array
# bsearch { |x| . . . } -> object | nil (26164.0) -
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値を二分探 索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返し ます。self はあらかじめソートしておく必要があります。
...します。
//emlist[例][ruby]{
ary = [0, 4, 7, 10, 12]
ary.bsearch {|x| x >= 4 } # => 4
ary.bsearch {|x| x >= 6 } # => 7
ary.bsearch {|x| x >= -1 } # => 0
ary.bsearch {|x| x >= 100 } # => nil
//}
find-any モードは bsearch(3) のように動作します。ブロックは真偽値
では......よりも大きい(j <= k < self.size)場合: 負の数を返す
ブロックの評価結果が 0 になるいずれかの要素を返すか、nil を返します。
//emlist[例][ruby]{
ary = [0, 4, 7, 10, 12]
# 4 <= v < 8 になる要素を検索
ary.bsearch {|x| 1 - x / 4 } # => 4 or 7
# 8......<= v < 10 になる要素を検索
ary.bsearch {|x| 4 - x / 2 } # => nil
//}
上記の 2 つのモードを混在して使用しないでください(ブロックの評価結果は
常に true/false、数値のいずれかを一貫して返すようにしてください)。
また、二分探索の... -
Array
# bsearch -> Enumerator (26158.0) -
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値を二分探 索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返し ます。self はあらかじめソートしておく必要があります。
...します。
//emlist[例][ruby]{
ary = [0, 4, 7, 10, 12]
ary.bsearch {|x| x >= 4 } # => 4
ary.bsearch {|x| x >= 6 } # => 7
ary.bsearch {|x| x >= -1 } # => 0
ary.bsearch {|x| x >= 100 } # => nil
//}
find-any モードは bsearch(3) のように動作します。ブロックは真偽値
では......よりも大きい(j <= k < self.size)場合: 負の数を返す
ブロックの評価結果が 0 になるいずれかの要素を返すか、nil を返します。
//emlist[例][ruby]{
ary = [0, 4, 7, 10, 12]
# 4 <= v < 8 になる要素を検索
ary.bsearch {|x| 1 - x / 4 } # => 4 or 7
# 8......<= v < 10 になる要素を検索
ary.bsearch {|x| 4 - x / 2 } # => nil
//}
上記の 2 つのモードを混在して使用しないでください(ブロックの評価結果は
常に true/false、数値のいずれかを一貫して返すようにしてください)。
また、二分探索の... -
Array
# bsearch { |x| . . . } -> object | nil (26158.0) -
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値を二分探 索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返し ます。self はあらかじめソートしておく必要があります。
...します。
//emlist[例][ruby]{
ary = [0, 4, 7, 10, 12]
ary.bsearch {|x| x >= 4 } # => 4
ary.bsearch {|x| x >= 6 } # => 7
ary.bsearch {|x| x >= -1 } # => 0
ary.bsearch {|x| x >= 100 } # => nil
//}
find-any モードは bsearch(3) のように動作します。ブロックは真偽値
では......よりも大きい(j <= k < self.size)場合: 負の数を返す
ブロックの評価結果が 0 になるいずれかの要素を返すか、nil を返します。
//emlist[例][ruby]{
ary = [0, 4, 7, 10, 12]
# 4 <= v < 8 になる要素を検索
ary.bsearch {|x| 1 - x / 4 } # => 4 or 7
# 8......<= v < 10 になる要素を検索
ary.bsearch {|x| 4 - x / 2 } # => nil
//}
上記の 2 つのモードを混在して使用しないでください(ブロックの評価結果は
常に true/false、数値のいずれかを一貫して返すようにしてください)。
また、二分探索の...