From 7bdcf9a6b7ab419d37bac256df13c78c12fbdc9e Mon Sep 17 00:00:00 2001 From: "Ahmed M. Abd EL-latif" Date: Tue, 28 Dec 2021 21:36:06 +0200 Subject: [PATCH] init --- Longest Common Prefix.rb | 20 ++++++++++++++++++++ valid-parentheses.rb | 20 ++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 Longest Common Prefix.rb create mode 100644 valid-parentheses.rb diff --git a/Longest Common Prefix.rb b/Longest Common Prefix.rb new file mode 100644 index 0000000..f5fb730 --- /dev/null +++ b/Longest Common Prefix.rb @@ -0,0 +1,20 @@ +def longest_common_prefix(strs) + return "" if strs.nil? || strs.size == 0 + + return strs[0] if strs.size == 1 + + output = "" + + for i in 0...strs[0].size do + for j in 1...strs.size do + if strs[j][i] != strs[0][i] + output = strs[0][0...i] + return output + end + end + output << strs[0][i] + end + + output + +end diff --git a/valid-parentheses.rb b/valid-parentheses.rb new file mode 100644 index 0000000..850c044 --- /dev/null +++ b/valid-parentheses.rb @@ -0,0 +1,20 @@ +# @param {String} s +# @return {Boolean} +def is_valid(s) + return true if s.empty? + + stack = [] + s.each_char do |c| + case c + when '(', '{', '[' + stack.push(c) + when ')' + return false if stack.pop() != '(' + when '}' + return false if stack.pop() != '{' + when ']' + return false if stack.pop() != '[' + end + end + return stack.empty? +end