diff options
| author | deadmarshal <adeadmarshal@gmail.com> | 2023-11-04 19:38:44 +0330 |
|---|---|---|
| committer | deadmarshal <adeadmarshal@gmail.com> | 2023-11-04 19:38:44 +0330 |
| commit | 3c934ca8f0f3d6122863c26dc4d726965a37ed1c (patch) | |
| tree | 97bf9565883b0cd80bdd167511a685b0e92aae9c /challenge-127/deadmarshal/ruby | |
| parent | 55f9e24e0fa53f838983f967fafb93745530c6e0 (diff) | |
| download | perlweeklychallenge-club-3c934ca8f0f3d6122863c26dc4d726965a37ed1c.tar.gz perlweeklychallenge-club-3c934ca8f0f3d6122863c26dc4d726965a37ed1c.tar.bz2 perlweeklychallenge-club-3c934ca8f0f3d6122863c26dc4d726965a37ed1c.zip | |
TWC127
Diffstat (limited to 'challenge-127/deadmarshal/ruby')
| -rw-r--r-- | challenge-127/deadmarshal/ruby/ch1.rb | 14 | ||||
| -rw-r--r-- | challenge-127/deadmarshal/ruby/ch2.rb | 17 |
2 files changed, 31 insertions, 0 deletions
diff --git a/challenge-127/deadmarshal/ruby/ch1.rb b/challenge-127/deadmarshal/ruby/ch1.rb new file mode 100644 index 0000000000..0078652c4a --- /dev/null +++ b/challenge-127/deadmarshal/ruby/ch1.rb @@ -0,0 +1,14 @@ +#!/usr/bin/env ruby + +def disjoint_sets(s1,s2) + h = Hash.new(0) + (0...s1.length).each do |i| + h[s1[i]] += 1 + h[s2[i]] += 1 + end + h.values.all? {|e| e == 1} +end + +p disjoint_sets([1,2,5,3,4],[4,6,7,8,9]) +p disjoint_sets([1,3,5,7,9],[0,2,4,6,8]) + diff --git a/challenge-127/deadmarshal/ruby/ch2.rb b/challenge-127/deadmarshal/ruby/ch2.rb new file mode 100644 index 0000000000..2eb6705031 --- /dev/null +++ b/challenge-127/deadmarshal/ruby/ch2.rb @@ -0,0 +1,17 @@ +#!/usr/bin/env ruby + +def conflict_intervals(arr) + ret = [] + (1...arr.length).each do |i| + b = false + (0...i).each do |j| + b = true if arr[i][0] >= arr[j][0] and arr[i][0] <= arr[j][1] + end + ret.push(arr[i]) if b + end + ret +end + +p conflict_intervals([[1,4],[3,5],[6,8],[12,13],[3,20]]) +p conflict_intervals([[3,4],[5,7],[6,9],[10,12],[13,15]]) + |
