Skip to content

Instantly share code, notes, and snippets.

amyhenning / linked_list_two.rb
Last active September 1, 2018 01:00
Built a method to reverse a linked list using a queue, then created a method to check if a list is an infinite loop using Floyd's Cycle Detection Algorithm
View linked_list_two.rb
class LinkedListNode
attr_accessor :value, :next_node
def initialize(value, next_node=nil)
@value = value
@next_node = next_node
def print_values(list_node)
amyhenning / luhn.rb
Last active September 26, 2018 20:56
Created a method to determine if a credit card number is valid using the Luhn Algorithm
View luhn.rb
module Luhn
def self.is_valid?(number)
# split the number into an array of its individual digits
numbers = number.to_s.split('').map { |x| x.to_i }
# set the index value for the starting number to be the second to last digit in numbers
digit_to_double = numbers.length - 2
# until digit_to_double reaches the end of the array
while digit_to_double >= 0
# double the number with an index of digit_to_double
amyhenning / join.js
Last active September 1, 2018 00:57
Built the join method using JavaScript
View join.js
"use strict";
var _ = {
join: (array, separator = ',') => {
var newString = array.toString();
if (separator) {
var replaced = newString.replace(",", separator);
amyhenning / map.js
Last active September 1, 2018 00:55
Built the map method in JS
View map.js
"use strict";
var _ = {
// Implements:
map: (array, callback) => {
return callback(array);
amyhenning / fibonacci.rb
Last active September 1, 2018 00:56
Built recursive and iterative methods to return the Fibonacci sequence up to a given n, then ran benchmarks to test performance
View fibonacci.rb
def recursive_fib(n)
# sets the first two values (0 and 1) by default
if n < 2
return n
# if n is greater than or equal to 2, the nth number in the fibonacci
# is the sum of the function called on n-1 and the function called on
# n-2
return recursive_fib(n-1) + recursive_fib(n-2)
amyhenning / collatz.rb
Last active September 1, 2018 00:57
Created a method to return the Collatz Sequence for a given n, then created a method to find the number with the longest Collatz Sqeuence between 1 and n
View collatz.rb
def collatz(n)
# set an empty arry to contain the values of the sequence
ary = []
# set initial index value to 0
index = 0
# start by pushing n into the array
# loop until the array includes the number 1, i.e. until the sequence is complete
until ary.include?(1)
View sudoku_solution.rb
# Sudoku Solution Validator
# Write a function validSolution/ValidateSolution/valid_solution() that accepts a 2D array representing a Sudoku board, and returns true if it is a valid solution, or false otherwise. The cells of the sudoku board may also contain 0's, which will represent empty cells. Boards containing one or more zeroes are considered to be invalid solutions.
# The board is always 9 cells by 9 cells, and every cell only contains integers from 0 to 9.
def valid_solution(board)
range = (1..9).to_a
simple = board.flatten
return false if simple.include?(0)
View to_underscore.rb
# Write a method that takes a camelcase string as an argument and converts it into snake case
def to_underscore(string)
uppercase = ("A".."Z").to_a
lowercase = ("a".."z").to_a
letters = string.split('')
snake_case = []
letters.each do |letter|
# first uppercase letter
if letters.index(letter) == 0 && uppercase.include?(letter)
View outside_class.rb
class Pokemon
# from here until line 9, we are INSIDE the class
# when a Pokemon is created, its name, type, and level must be set
def initialize(name, type, level)
@name = name
@type = type
@level = level
View pokemon_error.rb
pokemon.rb:14:in `<main>': undefined method `type' for
#<Pokemon:0x007ff70613d648> (NoMethodError)