Class: Hrom512::Nmax::MaxNumbersFinder
- Inherits:
-
Object
- Object
- Hrom512::Nmax::MaxNumbersFinder
- Defined in:
- lib/hrom512/nmax/max_numbers_finder.rb
Overview
Find N maximum numbers in input stream
Constant Summary collapse
- MAX_STORE_ELEMENTS =
1_000_000
Instance Method Summary collapse
- #find ⇒ Object
-
#initialize(input_stream, numbers_count) ⇒ MaxNumbersFinder
constructor
A new instance of MaxNumbersFinder.
Constructor Details
#initialize(input_stream, numbers_count) ⇒ MaxNumbersFinder
Returns a new instance of MaxNumbersFinder.
7 8 9 10 |
# File 'lib/hrom512/nmax/max_numbers_finder.rb', line 7 def initialize(input_stream, numbers_count) @input_stream = input_stream @numbers_count = numbers_count end |
Instance Method Details
#find ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/hrom512/nmax/max_numbers_finder.rb', line 12 def find numbers_parser = NumbersParser.new(@input_stream) numbers = [] while (number = numbers_parser.next_number) numbers << number numbers = max_elements(numbers) if numbers.size > MAX_STORE_ELEMENTS end max_elements(numbers) end |