Commit 0ed0c36
Changed files (1)
misc
subsequence
misc/subsequence/main.rb
@@ -274,7 +274,35 @@ class Solution
end
end
end
+
+ def self.run(sequence, pattern, index = 0)
+ return index if pattern.empty?
+ return index if sequence.empty?
+
+ atom = pattern[0]
+ if atom != '*'
+ if sequence[0] == atom
+ run(sequence[1..-1], pattern[1..-1], index)
+ else
+ run(sequence[1..-1], pattern, index + 1)
+ end
+ else
+ if sequence[1] == pattern[1]
+ run(sequence[1..-1], pattern[1..-1], index)
+ else
+ run(sequence[1..-1], pattern, index)
+ end
+ end
+ end
end
+=begin
+ x
+|a|b|c|d|e|f|
+
+ y
+|a|*|d|*|f|
+
+=end
assert_equal 0, Solution.run('abcdef', 'a*d*f')
assert_equal 0, Solution.run('abcdefg', 'a*d*f')