Учитывая отсортированный массив из n целых чисел, например:
ary = [3, 5, 6, 9, 14]
Мне нужно вычислить разницу между каждым элементом и следующим элементом в массиве.Используя приведенный выше пример, я получу:
[2, 1, 3, 5]
Начальный массив может содержать 0, 1 или много элементов, и числа, с которыми я буду работать, будут намного большеиспользовать временные метки эпохи).Я пробовал следующее:
times = @messages.map{|m| m.created_at.to_i}
left = times[1..times.length-1]
right = times[0..times.length-2]
differences = left.zip(right).map { |x| x[0]-x[1]}
Но мое решение выше не является оптимальным и не идеальным.Кто-нибудь может мне помочь?