Skip to content

Instantly share code, notes, and snippets.

@mayfer
Created September 7, 2015 17:49
Show Gist options
  • Save mayfer/27c0fad724519a8fbce1 to your computer and use it in GitHub Desktop.
Save mayfer/27c0fad724519a8fbce1 to your computer and use it in GitHub Desktop.
arr = [45, 234, 56758, 23, 1, 0, 0, 0, 0, 345345, 23]
def find_number(numbers, number)
numbers.each_with_index do |n, i|
if n == number
return i
end
end
return nil
end
arr = [45, 234, 56758, 23, 1, 0, 23, 0, 45, 345345, 23]
def find_duplicates(numbers)
# find all numbers that occur more than once
duplicates = {}
numbers.each_with_index do |num|
if !duplicates.has_key?(num)
duplicates[num] = {
"value": num,
"num_occurences": 1,
}
else
duplicates[num][:num_occurences] += 1
end
end
return duplicates.select do |key, val|
val[:num_occurences] > 1
end
end
arr = []
1000.times do |i|
arr << i * 2
end
def find_number_sorted(numbers, number)
middle = (numbers.length / 2)
puts
puts "#{middle}, #{numbers[middle]}"
if numbers[middle] == number
return true
elsif numbers.length <= 1
return false
elsif numbers[middle] > number
return find_number_sorted(numbers[0..(middle-1)], number)
else
return find_number_sorted(numbers[middle..(numbers.length-1)], number)
end
end
puts find_number_sorted(arr, 1998)
def parseInt(string)
integer = 0
digits = string.split("")
digits.each_with_index do |digit, pos|
multiplier = 10**(digits.length - pos - 1)
digit = digits[pos]
case digit
when "0"
i = 0
when "1"
i = 1
when "2"
i = 2
when "3"
i = 3
when "4"
i = 4
when "5"
i = 5
when "6"
i = 6
when "7"
i = 7
when "8"
i = 8
when "9"
i = 9
else
i = nil
end
integer += i * multiplier
end
return integer
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment