Skip to content

Instantly share code, notes, and snippets.

View sidazhang's full-sized avatar

Sidney Zhang sidazhang

  • Facebook
  • San Francisco
View GitHub Profile
@sidazhang
sidazhang / gist:4974389
Last active December 13, 2015 20:59
Shortest String
# shortest_string is a method that takes an array of strings as its input
# and returns the shortest string
#
# +array+ is an array of strings
# shortest_string(array) should return the shortest string in +array+
#
# If +array+ is empty the method should return nil
def shortest_string(array)
shortest = 0
array.length.times do |i|
@sidazhang
sidazhang / gist:4994537
Last active December 13, 2015 23:49
longest string
def longest_string(array)
longest = 0
array.length.times do |i|
if i == 0
longest = array[i]
elsif
longest.length < array[i].length
longest = array[i]
else
longest
@sidazhang
sidazhang / gist:4994627
Created February 20, 2013 10:36
Implementing factorial function
def factorial(n)
results = 1
n.times do |i|
results = n * results
n = n - 1
end
results
end
@sidazhang
sidazhang / gist:4994872
Last active December 13, 2015 23:49
times table
def times_table(rows)
# number of columns determined by the multiplier
counter = 1
results = ""
multiples = 1
rows.times do
rows.times do
if rows >= counter
@sidazhang
sidazhang / gist:4994927
Created February 20, 2013 11:35
reverse words
def reverse_words(array)
results = array.split(" ")
new_results = []
results.length.times do |i|
new_results[i] = results[i].reverse
end
return new_results.join(" ")
@sidazhang
sidazhang / gist:4994984
Created February 20, 2013 11:49
separate numbers with commas
def separate_comma(number)
results = number.to_s.split("")
reverse_counter = results.length - 1
output = ""
comma_counter = 0
results.length.times do |i|
output = results[reverse_counter] + output
reverse_counter = reverse_counter - 1
comma_counter = comma_counter + 1
if comma_counter%3 == 0 && comma_counter/number.to_s.length != 1
@sidazhang
sidazhang / gist:4995042
Last active December 13, 2015 23:58
fibonacci
def is_fibonacci?(i)
array = [0,1]
counter = 0
while array.max < i
array.push(array[counter]+array[counter+1])
counter = counter + 1
end
array.include?(i)
end
@sidazhang
sidazhang / gist:5003856
Created February 21, 2013 10:45
print out a triangle
def print_triangle(rows)
rows.times do |i|
puts "*"*(i+1)
end
end
@sidazhang
sidazhang / gist:5003905
Created February 21, 2013 10:55
median of an array of numbers
def median(array)
mid_point = 0
lower_mid_point = 0
upper_mid_point = 0
results = 0
if array.length % 2 == 1
mid_point = (array.length + 1 ) / 2 -1
puts mid_point
results = array[mid_point]
def mode(array)
hash = {}
maxnum = 0
resultsarray = []
array.each do |i|
if hash[i]
hash[i] += 1