aboutsummaryrefslogtreecommitdiff
path: root/challenge-127/deadmarshal/ruby
diff options
context:
space:
mode:
authordeadmarshal <adeadmarshal@gmail.com>2023-11-04 19:38:44 +0330
committerdeadmarshal <adeadmarshal@gmail.com>2023-11-04 19:38:44 +0330
commit3c934ca8f0f3d6122863c26dc4d726965a37ed1c (patch)
tree97bf9565883b0cd80bdd167511a685b0e92aae9c /challenge-127/deadmarshal/ruby
parent55f9e24e0fa53f838983f967fafb93745530c6e0 (diff)
downloadperlweeklychallenge-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.rb14
-rw-r--r--challenge-127/deadmarshal/ruby/ch2.rb17
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]])
+