📜  红宝石 |数组 bsearch_index() 操作

📅  最后修改于: 2022-05-13 01:55:36.352000             🧑  作者: Mango

红宝石 |数组 bsearch_index() 操作

Array#bsearch_index() : bsearch_index()是一个 Array 类方法,用于查找满足给定条件的数组值的索引。它的复杂度是 O(log n),其中 n 是数组大小。此方法可以在两种模式下工作——find-minimum 和 find-any 模式。

Syntax:  Array.bsearch_index()

Parameter: 
- Arrays to search elements. 
- condition block

Return:  Index value of the array element that satisfy the given condition

代码 #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