Class: Algoruby::MaximumSubarray

Inherits:
Object
  • Object
show all
Defined in:
lib/algoruby/max_subarray/max_subarray.rb

Class Method Summary collapse

Class Method Details

.call(nums) ⇒ Object



3
4
5
6
7
8
9
10
11
12
# File 'lib/algoruby/max_subarray/max_subarray.rb', line 3

def self.call(nums)
  current_sum = max_sum = nums.first

  nums[1..-1].each do |num|
    current_sum = [num, current_sum + num].max
    max_sum = [max_sum, current_sum].max
  end

  max_sum
end