This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def mode(array) | |
| el_count = {} | |
| array.each do |n| | |
| if el_count.has_key?(n) | |
| el_count[n] = el_count[n] + 1 | |
| else | |
| el_count[n] = 1 | |
| end | |
| end | |
| el_count.select { |k, v| v == el_count.values.max }.keys |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ans = {} | |
| for i in 1..1_000_000 | |
| moves = 0 | |
| morph = i | |
| until morph == 1 do | |
| if ans[morph] != nil | |
| moves += ans[morph] | |
| break | |
| else |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class RPNCalculator | |
| def evaluate(string) | |
| return string.to_i if string.split(' ').count == 1 | |
| sarray = string.split(' ') | |
| #Check for Valid setup | |
| syms = 0 | |
| nums = 0 | |
| valchars = true | |
| sarray.each do |c| |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def d(num) | |
| arr = (1..(num/2)).to_a.keep_if { |i| num % i == 0} | |
| arr = [1] if num == 1 | |
| arr.inject(:+) | |
| end | |
| st = Time.new | |
| amic = [] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def sieve(num) | |
| first_arr = Array.new(num) { |i| i } | |
| 2.times { first_arr.delete_at(0) } | |
| primes = [] | |
| while true | |
| break if first_arr[0]**2 >= num | |
| first_arr.delete_if { |n| n % first_arr[0] == 0 && first_arr[0] != n } | |
| primes << first_arr.slice!(0) | |
| end | |
| primes += first_arr |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| st = Time.new | |
| top = 999*999 | |
| found = false | |
| pal = true | |
| until found == true do | |
| #check if palindrome | |
| tops = top.to_s | |
| if tops != tops.reverse | |
| pal = false |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def flatten(array) | |
| a = [] #Must store elements somewhere | |
| array.each do |x| #Go Through each element | |
| if x.class != Array #If the Element is Not an Array | |
| a << x #Store Element in Array 'a' | |
| else | |
| a += flatten(x) #Add flattened array to previous array | |
| end | |
| end | |
| return a #When all elements are non-arrays, return new array filled with non-array elements |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def paths(row, col) | |
| return 1 if row == 3 && col == 3 | |
| return 0 if row > 3 || col > 3 | |
| return paths(row + 1, col) + paths(row, col + 1) | |
| end | |
| def new_path(tot_row, tot_col) | |
| curr_row = 0 | |
| curr_col = 0 | |
| known = {} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Don't forget to check on intialization for a card length | |
| # of exactly 16 digits | |
| class CreditCard | |
| def initialize(cc) | |
| @cc_int = [] | |
| raise ArgumentError.new("CC Number is not 16 Digits") if cc.to_s.length != 16 | |
| cc.to_s.each_char { |ch| @cc_int << ch.to_i if ch != ' ' } | |
| end | |
| def check_card |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| GRID = "08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 | |
| 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00 | |
| 81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65 | |
| 52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91 | |
| 22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80 | |
| 24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50 | |
| 32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70 | |
| 67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21 | |
| 24 55 58 05 66 73 99 26 97 17 78 78 96 83 14 88 34 89 63 72 | |
| 21 36 23 09 75 00 76 44 20 45 35 14 00 61 33 97 34 31 33 95 |
NewerOlder