Skip to content

Instantly share code, notes, and snippets.

View Bablzz's full-sized avatar
💭
Quality is remembered long after the price is forgotten (Sir Frederick Royce)

Maksim Sokolnikov Bablzz

💭
Quality is remembered long after the price is forgotten (Sir Frederick Royce)
View GitHub Profile
@Bablzz
Bablzz / countsort.rb
Last active October 21, 2019 14:21
Counting sort
=begin
O(n + k)
=end
def countSort arr
countArr = []
resultArr = Array.new(arr.length)
max = arr.max
@Bablzz
Bablzz / bank.rb
Created October 21, 2019 10:34
Bank deposite
years = 5
a = 1000
def bank(a, years)
i = 0
while i != years
b = (a * 0.1) + a
a = b
i += 1
end
@Bablzz
Bablzz / quicksort.rb
Last active October 21, 2019 09:57
quicksort in ruby
=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)]
@Bablzz
Bablzz / merge_sort.go
Last active October 21, 2019 09:52
Merge sort
/*
best time O(n log2 n)
worst time O(n log2 n)
*/
package main
import (
"fmt"
)
@Bablzz
Bablzz / puzzles.rb
Last active September 25, 2019 07:45
small_puzzles.rb
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
@Bablzz
Bablzz / fibonacci.rb
Last active September 18, 2019 09:02
Fibonacci Binet
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);
@Bablzz
Bablzz / max.go
Last active September 18, 2019 08:51
Max digit without condition
package main
import (
"fmt"
"math"
)
func main() {
a := 32
b := -44
@Bablzz
Bablzz / caesar.go
Last active September 16, 2019 07:48
Caesar cypher
package main
import "fmt"
var mes = "test cypeher with digit 6"
func main() {
bs := ([]byte)(mes)
cyp := make([]byte, len(bs))
j := 0
@Bablzz
Bablzz / Fib.rb
Created July 10, 2019 07:43
Fibonacci recursion and non recursion
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)
@Bablzz
Bablzz / greedy.rb
Last active July 9, 2019 10:01
Greedy algorithm
# 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