Ruby 数组bsearch_index()操作
Array#bsearch_index() : bsearch_index()是一个数组类方法,它可以找到符合给定条件的数组值的索引。其复杂度为O(log n),其中n为数组大小。这个方法可以在两种模式下工作–查找最小值和查找任意值模式。
语法: Array.bsearch_index()
参数:
– 搜索元素的数组。
– 条件块
返回。 满足给定条件的数组元素的索引值。
代码#1:bsearch_index()方法的例子
# Ruby code for bsearch_index() method
# declaring array
a = [1, 2, 3, 4]
# declaring array
b = [111.11, 2.5, 4.3, 2.224]
# array that meets the condition
puts "search : #{a.bsearch_index {|x| x >=4 }}\n\n"
puts "search : #{b.bsearch_index {|x| x >=3 }}\n\n"
puts "search : #{a.bsearch_index {|x| x >=2 }}\n\n"
puts "search : #{b.bsearch_index {|x| x >=2 }}\n\n"
输出:
search : 3
search : 2
search : 1
search : 0
代码#2:bsearch_index()方法的例子
# Ruby code for bsearch_index() method
# declaring array
a = [1, 2, 3, 4]
# declaring array
b = [111.11, 2.5, 4.3, 2.224]
# array that meets the condition
puts "search : #{a.bsearch_index {|x| 1 - x / 4 }}\n\n"
puts "search : #{b.bsearch_index {|x| 2*x > 1 }}\n\n"
输出:
search : 3
search : 0