Этот метод пытается выразить num как произведение элементов в обр.Big O Сложность алгоритма
Для например method1 (37, [1,3,5]) возвращает [2,0,7]
// arr is an array of divisors sorted in asc order, e.g. [1,3,5]
def method1(num, arr)
newArr = Array.new(arr.size, 0)
count = arr.size - 1
while num > 0
div = arr[count]
if div <= num
arr[count] = num/div
num = num % div
end
count = count - 1
end
return newArr
end
бы очень признателен, если вы могли бы дать мне некоторую помощь, чтобы получить сложность алгоритма , Пожалуйста, не стесняйтесь, чтобы улучшить эффективность моего алгоритма
Где инициализируется счет? – Scovetta
Эмпирическое правило для определения нотации Big-O: если вы удваиваете размер ввода, то сколько еще нужно выполнить алгоритму: (a) Если он делает точно такой же ввод, это, вероятно, O (1). (b) Если он дважды вводит вход, это, вероятно, O (n). (c) Если он в четыре раза превышает вход, это, вероятно, O (n^2). – Scovetta
О, забыл включить счет здесь. Спасибо –