summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo <mokha@cisco.com>2017-08-12 14:04:14 -0600
committermo <mokha@cisco.com>2017-08-12 14:04:14 -0600
commit844b2e9659f755c046ddefd7be61975eb217fe4e (patch)
treee402cfbbd99773b8ac6231dd79df18f2a21e22e1
parent056fd97445d8962f893b3ac87ef6294a1ea2c952 (diff)
remove unneccessary variable.
-rw-r--r--spec/binary_trees/find_substrings_spec.rb22
1 files changed, 6 insertions, 16 deletions
diff --git a/spec/binary_trees/find_substrings_spec.rb b/spec/binary_trees/find_substrings_spec.rb
index 5ce8622..77b6350 100644
--- a/spec/binary_trees/find_substrings_spec.rb
+++ b/spec/binary_trees/find_substrings_spec.rb
@@ -78,28 +78,21 @@ describe "#find_substrings" do
def find_substrings(words, parts)
return words if parts.empty?
+
parts_hash = parts.map { |x| [x, x] }.to_h
sorted = parts_hash.keys.sort_by(&:length)
max = sorted.last.size
min = sorted.first.size
- #puts [min, max, parts_hash].inspect
words.map do |word|
match = nil
- match_index = nil
length = nil
+
0.upto(word.size - 1) do |n|
max.downto(min) do |m|
- x = word[n...n+m]
- #puts x.inspect
-
- if part = parts_hash[x]
- #puts "FOUND: #{x} in #{word}"
- if match.nil? || part.length > length || (part.length == length && n < match_index)
- match = part
- match_index = n
- length = part.length
- end
+ if (part = parts_hash[word[n...n+m]]) && (match.nil? || part.length > length)
+ match = part
+ length = part.length
end
end
end
@@ -170,10 +163,7 @@ l e
{ words: ["during"], parts: ["d", "g", "i"], x: ["[d]uring"] },
].each do |x|
it do
- #result = with_profiler do
- result = find_substrings(x[:words], x[:parts])
- #end
-
+ result = find_substrings(x[:words], x[:parts])
expect(result).to eql(x[:x])
end
end