arknmax 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 882bb6fc940fd0d5a0d6ad08cd652fbe32fd6c56b4687b2dcf822e0c6e4d5bd4
4
- data.tar.gz: c1505954d259c8e4d7ea9d3b03f33ed37727362a62be17c98886ee8d5029849b
3
+ metadata.gz: 479ee69d76bc30a6ba46ce37b74adebd488a64f59fb7a29c151004e2924b20fc
4
+ data.tar.gz: c84eecdfd47bfe4821326530889601cc02fc18228ba557b6eedce733efba8b1b
5
5
  SHA512:
6
- metadata.gz: 62f20424845de651e02acbd2a74ad35d449afbc833d0f430f6d57c103c899a47dc53388bc5f882b8a125a33da35cdecb8d29c5132d860002d0b440f0d128c8aa
7
- data.tar.gz: 4e64c7f6aaed05e6b3799aeec138d2ffa0d55b8269ad9320b4543b925924355d714c18ebff415c9e486b1e0c21832a361465162e2b324a748e10dee244c5b737
6
+ metadata.gz: 6fea367e8e48dac79bf447f8a4cc78b433fada868bf08af835bd933faa2728181d4208a5dbf44a16eab00fd94cc2d1dca8bdd8c9311f675dbbeabc9aca110b14
7
+ data.tar.gz: a130b46a3f474b3e66f2f1f6d949cddaa8be72f66619fb4170d691d8c07070ef44f464de113b72dd1738cda53885b5c3ec9eb8a06f03afb4ea6b04d8de8758fa
data/README.md CHANGED
@@ -12,3 +12,15 @@ This is a simple realisation of nmax function
12
12
  ## Usage
13
13
 
14
14
  $ cat bigfile.txt | arknmax 10
15
+
16
+ ## Описание задачи
17
+
18
+ Напишите скрипт nmax, который делает следующее:
19
+ - читает из входящего потока текстовые данные;
20
+ - по завершении ввода выводит n самых больших целых чисел, встретившихся в полученных текстовых данных.
21
+ Дополнительные указания:
22
+ - числом считается любая непрерывная последовательность цифр в тексте;
23
+ - известно, что чисел длиннее 1000 цифр во входных данных нет;
24
+ - число n должно быть единственным параметром скрипта;
25
+ - код должен быть покрыт тестами;
26
+ - код должен быть оформлен в виде гема (содержащего исполняемый файл, код модулей и т.д.).
@@ -14,6 +14,8 @@ module Arknmax
14
14
  end
15
15
 
16
16
  def <<(num)
17
+ return if limit_reached? && new_value_too_low?(num)
18
+
17
19
  data_structure.push(num)
18
20
 
19
21
  cut_extra_size! if overlimit?
@@ -39,8 +41,16 @@ module Arknmax
39
41
  data_structure.length > size_limit
40
42
  end
41
43
 
44
+ def limit_reached?
45
+ data_structure.length >= size_limit
46
+ end
47
+
42
48
  def cut_extra_size!
43
49
  data_structure.pop
44
50
  end
51
+
52
+ def new_value_too_low?(num)
53
+ data_structure.min >= num
54
+ end
45
55
  end
46
56
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Arknmax
4
- VERSION = '0.0.1'
4
+ VERSION = '0.0.2'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arknmax
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - A.A.Abroskin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-03 00:00:00.000000000 Z
11
+ date: 2018-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: algorithms