Untitled
unknown
ruby
2 years ago
669 B
8
Indexable
module PatchedArray
refine Array do
def median
return nil if empty?
arr = sort
len = size
(arr[(len - 1) / 2] + arr[len / 2]) / 2.0
end
end
end
using PatchedArray
def activityNotifications(expenditure, d)
notifications_count = 0
expenditure.each_with_index do |exp, idx|
# ignore first d days because of data collecting
next if idx < d
# collect expenditures for d days before d+1 day
exps = expenditure[idx - d..idx - 1]
# increase notifications_count if needed
notifications_count += 1 if exp >= 2 * exps.median
end
notifications_count
endEditor is loading...
Leave a Comment