ruby演算法實現

2021-08-30 23:46:54 字數 491 閱讀 2695

題目一:傳2個引數 1個是整形int 1個是int 陣列 怎麼判斷 這個int 可以在這個陣列裡組合起來 如:已知75,[20,15,30,45,55]求後面的陣列的元素中二者之和為75的元素對。

def get_m(a,b)

half = a/2

#將a/2加入到陣列,組成陣列d並排序

d = (b << half).sort!

#確定half在陣列排序後的陣列d中的位置

index_half = d.index(half)

#取出比half小的陣列,與比half大的陣列

e,f = d[0..index_half],d[index_half+1..d.length]

#從陣列元素上的那個陣列開始迭代,獲得元素對

result =

e.lengthreturn result

endp get_m(75,[20,15,30,45,55])

Ruby實現的矩陣連乘演算法

動態規劃解決矩陣連乘問題,隨機產生矩陣序列,輸出形如 a1 a2a3 a4a5 的結果。encoding utf 8 begin author xu jin,4100213 date oct 28,2012 matrixchain to find an optimum order by using ...

Ruby排序演算法

1.氣泡排序 百科 wiki def bubble sort arr 1.upto arr.length 1 do i arr.length i times do j if arr j arr j 1 arr j arr j 1 arr j 1 arr j endend endarr endarra...

外部排序ruby實現

value 陣列型別,儲存待比較大小的元素。陣列長度比敗者樹陣列長度大1 loser tree 陣列型別,敗者樹。陣列元素是value陣列的索引 node 待調整的葉子結點在value陣列中的索引 def adjust loser tree value,loser tree,node 求葉子結點的父...