pair_with_given_sum 0.0.1

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d1225f9b9cf166da49687ee75a6124a3b307b435
4
+ data.tar.gz: 705203a07557ae3772152a5658ee2757899fdefd
5
+ SHA512:
6
+ metadata.gz: f1140cab5d3878079d799ced290e506c7190ed1381cb4100d0e1b3835a9964bb5c5c78b26f06e1d84d7e8ec067424829a93e3a80d4755a44849d1b92c45fbe66
7
+ data.tar.gz: 271f223136a8cde5a51744404e91a31abee8fc48012a80d0c9e12ab62dcbc3c884cfb794739a5ce8a67fc6973aa0399e220571b83d20ae487cb97c6148f5103b
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'pair_with_given_sum'
4
+
5
+ PairWithGivenSum.run(ARGV[0], ARGV[1].to_i)
@@ -0,0 +1,28 @@
1
+ module PairWithGivenSum
2
+ def PairWithGivenSum.run(str, sum)
3
+ if str.nil? || str.length <=2 || sum.nil?
4
+ puts "Must be given a string representing an integer array and an integer sum."
5
+ else
6
+ array = PairWithGivenSum.parseArray(str)
7
+ array.sort!
8
+ smallIndex = 0
9
+ largeIndex = array.length - 1
10
+ while largeIndex > smallIndex
11
+ tmpSum = array[largeIndex] + array[smallIndex]
12
+ if tmpSum == sum
13
+ puts "Sum of #{array[smallIndex]} & #{array[largeIndex]} = #{sum}"
14
+ return
15
+ elsif tmpSum > sum
16
+ largeIndex -= 1
17
+ else
18
+ smallIndex += 1
19
+ end
20
+ end
21
+ puts "No pair with sum of #{sum}"
22
+ end
23
+ end
24
+
25
+ def PairWithGivenSum.parseArray(arr)
26
+ return arr.scan(/\d+/).map(&:to_i)
27
+ end
28
+ end
metadata ADDED
@@ -0,0 +1,47 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pair_with_given_sum
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Kenneth Baldauf
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-05-10 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Given a string representing an integer array and a sum, return a pair
14
+ that matches the sum.
15
+ email:
16
+ executables:
17
+ - pair_with_given_sum
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - bin/pair_with_given_sum
22
+ - lib/pair_with_given_sum.rb
23
+ homepage: https://github.com/kbaldauf/PairWithGivenSum
24
+ licenses:
25
+ - Apache v2.0
26
+ metadata: {}
27
+ post_install_message:
28
+ rdoc_options: []
29
+ require_paths:
30
+ - lib
31
+ required_ruby_version: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ required_rubygems_version: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ requirements: []
42
+ rubyforge_project:
43
+ rubygems_version: 2.4.6
44
+ signing_key:
45
+ specification_version: 4
46
+ summary: Finds a pair with a given sum.
47
+ test_files: []