This file contains 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
=begin | |
O(n + k) | |
=end | |
def countSort arr | |
countArr = [] | |
resultArr = Array.new(arr.length) | |
max = arr.max |
This file contains 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
years = 5 | |
a = 1000 | |
def bank(a, years) | |
i = 0 | |
while i != years | |
b = (a * 0.1) + a | |
a = b | |
i += 1 | |
end |
This file contains 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
=begin | |
Worst time: O(n2) if choose bad pivot element | |
Approximate time: O(n log n) | |
=end | |
def quicksort array | |
if array.length < 2 | |
array | |
else | |
pivot = array[rand(array.length)] |
This file contains 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
/* | |
best time O(n log2 n) | |
worst time O(n log2 n) | |
*/ | |
package main | |
import ( | |
"fmt" | |
) |
This file contains 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
digit = 543210 | |
# Reverse digit | |
def reverse_digit(digit) | |
str = digit.to_s.reverse.split('') | |
if str.first == '0' | |
str.shift | |
end | |
str.join('').to_i | |
end |
This file contains 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
fib = 9 | |
def BinetFib number | |
phi = ((1 + Math.sqrt(5)) / 2) #or 1.6180339887 | |
divid = phi**number | |
divider = Math.sqrt(5) | |
(divid / divider).round | |
end | |
puts BinetFib(fib); |
This file contains 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
package main | |
import ( | |
"fmt" | |
"math" | |
) | |
func main() { | |
a := 32 | |
b := -44 |
This file contains 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
package main | |
import "fmt" | |
var mes = "test cypeher with digit 6" | |
func main() { | |
bs := ([]byte)(mes) | |
cyp := make([]byte, len(bs)) | |
j := 0 |
This file contains 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 fib_rec (number) | |
if number == 0 | |
return number | |
elsif (number == 1) || (number == 2) | |
return 1 | |
end | |
fib_rec(number - 1) + fib_rec(number - 2) | |
end | |
def fib_non_rec (number) |
This file contains 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
# Set cover problem | |
states = ['mt', 'wa', 'or', 'id', 'nv', 'ut', 'ca', 'az'].uniq | |
station = {} | |
station["kone"] = ['id', 'nv', 'ut'].uniq | |
station["ktwo"] = ['mt', 'wa', 'id'].uniq | |
station["kthree"] = ['or', 'nv', 'ca'].uniq | |
station["kfour"] = ['nv', 'ut'].uniq | |
station["kfive"] = ['ca', 'az'].uniq |